Насколько я понимаю, зомби-процесс умер, но все еще существует в качестве заполнителя в таблице процессов, пока его родитель (или init
если зомби сам не является сиротой) не проверит свой статус выхода.
И я понимаю, что процессы-сироты - это процессы, которые еще живы, но чей родитель умер.
Поскольку зомби уже мертвы, его дети будут считаться сиротами, не так ли? Будут ли они затронуты, пожиная зомби? В частности, будут ли init
усыновлять их своими детьми только после того, как зомби будут пожинены, или они будут усыновлены, как только родитель станет зомби?
init
process-management
zombie-process
Wildcard
источник
источник
init
как только их родитель умирает (и это включает в себя превращение в зомби). Зомби не позаботится о своих детях. Это ничего не сделает. Это просто информация о смертельном статусеpid
.init
?init
пожнут их.Ответы:
Правильный.
Правильный.
Да. Когда родитель умирает, он мертв. Что касается его детей, то не имеет значения, остается ли родитель зомби: дети становятся сиротами в момент смерти родителя, а затем теряют связь с родителем.
Нет, и последний, как указано выше.
источник
Если экспериментальные результаты подойдут, то как минимум
systemd
init пожнет зомби-сирот, как только сможет:foo.c
:В одном терминале:
В другом терминале:
источник