in reply to Child process dies

You could make another child whose job is only to wait on the parent's death and then kill the first child. jettero's suggestion of a lock file would be a good way for the watchdog child to notice the parent's death without polling. The whole process would look a little like:

  1. Parent flocks a file.
  2. Parent forks child 1 (records PID—child 2 will need it).
  3. Parent forks child 2.
  4. Child 2 does a blocking flock on the same file (and so hangs).
  5. There is joy in Mudville.
  6. Parent receives deadly signal 9. Parent's lock is released.
  7. Child 2 gets the lock and continues. It's next (unconditional) action is to kill child 1 and exit.
  8. Child 1 dies from the signal from child 2.
  9. And then there were none.