If this is intended to be pid 1, it needs to properly reap orphan processes by handling SIGCHLD. There should be a handler for SIGCHLD that essentially does:
while (waitpid((pid_t)(-1), 0, WNOHANG) > 0) {};
more info here:
http://stackoverflow.com/questions/20688982/zombie-process-vs-orphan-process
If this is intended to be pid 1, it needs to properly reap orphan processes by handling SIGCHLD. There should be a handler for SIGCHLD that essentially does:
while (waitpid((pid_t)(-1), 0, WNOHANG) > 0) {};
more info here:
http://stackoverflow.com/questions/20688982/zombie-process-vs-orphan-process