I fork()
в процесс X и Y, затем Y forks()
снова в себя и обработку Z несколько раз.
Теперь процесс Y - это своего рода «слушатель», и я бы хотел, чтобы X был удалителем. Процессы Z выполняют фактические действия. Z процессы у внуков X.
С помощью FIFO и некоторой сигнализации X создал список всех pids процессов Z. Проблема сейчас в том, что я хотел бы удалить Z-процесс зомби с помощью X (просматривая список пидов).
Я пробовал это с waitpid()
, но, конечно, это не работает (это работает только для непосредственных детей). Но я читал о возможности сделать расширение самостоятельно для этого. Но я действительно не знаю, как это сделать.
Я думал о том, что средство удаления хранит другой список с зомби (сигнал при выходе), но это то же самое, что я делал при сохранении пидов, я хотел бы сделать это по-другому.
Кто-нибудь знает, как это сделать?