Цитата
- зомби - это всегда завершившийся процесс (а не завершившийся родитель) ...
- процесс становится зомби, когда он отправляет по завершению SIGCHLD - а его некому обработать, например процесс родитель просто не обрабатывает его, например, не ожидает завершения на wait() или waitpid()....
А если процесс еще не завершился, а родитель уже откинулся - как ни крути, а процесс уже по любому зомби (его просто некому будет убить по завершению).
Если родитель еще жив и по каким-то причинам не может обработать SIGCHLD - процесс не может считаться зомби, т. к. потенциально родитель еще может его кончить. Интересно, что произойдет с родителем, если он не будет "ждать детей" (wait, waitpid) - он просто заврешиться и все потомки станут зомби. Тонкости, конечно, но все что изложил Olej умещается в моем определении зомби. Или существет пример, когда оно неверно?