You call waitpid() directly, configured for timeout, and if it returns with error that the process is no longer available, then act upon it.
* parent process is killed after it forks, but before it calls `waitpid`. Nothing even attempts to kill&wait for the child
* parent process is killed after it issues `waitpid` syscall. The child continues to happily execute while the parent is dead.
- yeah this one is a bummer, write the child pids, collect them via a watchdog process
You call waitpid() directly, configured for timeout, and if it returns with error that the process is no longer available, then act upon it.