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