(This is just a footnote). As @Sodved said, gnome-terminal starts the process itself and then exits, there is no way to get pid grandchild. (See also APUE Chapter 7, why the child process will not rejoin the grandparent process when its parent process was interrupted.)
I found that gnome-terminal creates an instance only once, so here is just a short script for your specific task:
GNOME_TERMINAL_PID=`pidof gnome-terminal`
If you do not have pidof:
GNOME_TERMINAL_PID=`grep Name: */status | grep gnome-terminal | cut -d/ -f1`
source share