Как обрабатываются зомби-процессы в случае смерти родительского процесса?

Как обрабатываются зомби-процессы в случае смерти родительского процесса?

Какой метод использует система Unix для удаления зомби-процессов, родительский процесс которых завершился?

решение1

Когда родитель процесса умирает, init (процесс 1) принимает процесс. Затем он пожинает принятые прецессы, которые являются или становятся зомби.

Обычно сборка выполняется родителем, так как родитель должен знать, когда умирает потомок. Он также должен остановить повторное использование pid потомка, пока родитель не узнает об этом, чтобы родитель не подал сигнал неправильному процессу (подал сигнал о правильном pid, но pid теперь принадлежит новому процессу). В процессе сбора родитель должен забыть о потомке.

решение2

Если процесс завершается, и у этого процесса есть дочерние процессы в состоянии зомби, идентификатор родительского процесса всех дочерних процессов-зомби устанавливается в 1 (процесс init), который унаследует дочерние процессы и очистит их (т. е. init будет ждать их, что удалит зомби).

Связанный контент