Зомби процесс,SIGCHLD, выход в unix

Каждый ли выход (либо выход, либо выход) из дочернего объекта отправляет SIGCHLD своему родителю? Если это так, то как создается процесс зомби? Как системный вызов wait обычно вызывается в обработчике SIGCHLD.

1 ответ

Да, каждый умирающий процесс вызывает отправку SIGCHLD его родителю - если, конечно, родитель не установил, что SIGCHLD игнорируется.

Если родитель процесса не игнорирует SIGCHLD, то мертвый ребенок становится зомби до тех пор, пока родитель не получит его, используя waitpid() или один из его вариантов. Если родитель не пожнет мертвого ребенка, он останется зомби.

Другие вопросы по тегам