Si mata el proceso raíz (proceso primario), esto debería hacer huérfanos, no zombis. Los niños huérfanos se hacen cuando se mata a un padre del proceso, y el kernel hace que init sea el padre de los huérfanos. init debe esperar hasta que el huérfano muera, luego use wait para limpiarlo.
Los elementos secundarios de Zombie se crean cuando un proceso (no su elemento principal) finaliza y su elemento primario no toma su estado de salida de la tabla de proceso.
Me parece que te preocupa dejar huérfanos porque, por definición, cuando matas a un padre zombis, el propio zombi muere.
Para matar a tus huérfanos, utiliza kill -9, que es el SIGKILL equivalente.
aquí es un tutorial más en profundidad para matar cosas en Linux: http://riccomini.name/posts/linux/2012-09-25-kill-subprocesses-linux-bash/
Hay una llamada al sistema separado para matar a grupos de proceso enteras: 'killpg'. También es importante tener en claro la diferencia entre * threads * y * processes * en Linux: son cosas diferentes. – Pointy
[! [La verdadera razón para no usar SIGKILL] (https://i.stack.imgur.com/SnEqw.png)] (https://i.stack.imgur.com/SnEqw.png) Probablemente quiera para mantener este cómic en mente. Fuente: http://turnoff.us/geek/dont-sigkill/ –