Ummm. A "/bin/kill -s SIGTERM -<process group>" will send the same signal to all the processes in the process group. Unless your child process has a different process group, or you want the child to die *strictly* after the parent (I believe order of signal delivery is undefined with respect to members of a process group), then why not just do it this way?
In Perl, you can just {local $SIG{'TERM'} = 'IGNORE'; kill 15, -$$}, which should achieve the same thing without forking, since kill with a negative process ID sends it to the whole group.