I have several child processes (about 10) forked by a parent. I have provided the SIGCHLD handler in the process and calling a wait() inside it. I observe that if I kill (kill -9) some of the child processes (say 5). Not all SIGCHLD are reaching the parent. The child processes for which SIGCHLD is not reaching become <defunct>. I would like to know what could be done to make all the child exits to be reported properly. Will waitpid(-1,...) help? If so with what options?
Thanks in advance