Espere e / ou mate os netos do processo produzidos por fork

I fork() no processo X e Y, depois Yforks() novamente e processe Z várias veze

Agora, o processo Y é algum tipo de "ouvinte" e eu gostaria que o X fosse o deleter. Os processos Z executam as ações reais. Os processos Z são netos de X.

Com um FIFO e alguma sinalização, X produziu uma lista de todos os pids dos processos Z. O problema agora é que eu gostaria de excluir os zumbis do processo Z com o X (passando pela lista de pids

Eu tentei comwaitpid(), mas é claro que isso não funciona (funciona apenas para filhos diretos). Mas eu li sobre a possibilidade de fazer uma extensão você mesmo para isso. Mas eu realmente não saberia como fazer isso.

Pensei no deleter mantendo outra lista com zumbis (sinal ao sair), mas é o mesmo que fiz ao salvar os pids, gostaria de fazê-lo de maneira diferent

Alguém tem uma idéia de como fazer isso?

questionAnswers(3)

yourAnswerToTheQuestion