У меня есть случай, когда у меня есть процесс, который составляет parent
, и он порождает различные процессы , которые контролируют соединение ssh
. Этот процесс parent
должен работать бесконечно как часть службы. Но, когда одно из этих соединений ssh
закрыто, тогда процесс child
становится процессом zombie
. Таким образом, создается много процессов zombie
, каждый раз когда соединение ssh
закрывается.Удаление процесса зомби
Я хочу, чтобы количество zombie
процессов было минимальным. Насколько мне известно, SIGTERM
или SIGKILL
удаляет zombie
процесс. Поскольку процесс parent
работает бесконечно, процесс zombie
не может быть удален, ожидая завершения parent
.
Есть ли способ удалить процесс зомби? Или что-то, что я понял неправильно?
Я использую python. Я попробовал то же самое. Вместо 'join()' я заменил его на 'os.waitpid (pid, os.WNOHANG)'. Тем не менее создаются процессы 'zombie'. Я делаю что-то неправильно? – nidHi
Вы проверили возвращаемое значение waitpid? –
Я не знаю в python. Но я думаю, что мы должны передать любой аргумент os.waitpid, чтобы получить статус существования? –