Почему apache2 разоблачает более не существующее в списке процессов?

Смотрите на крысиный, который находит stdin, stdout и stderr процесса и присоединений к ним. Однако Вы не делаете абсолютно собственный, процесс как Вы сделал прежде, таким образом, Вы не можете отправить, он сигнализирует.

5
06.01.2019, 23:32
3 ответа

Это безопасно. Можно проигнорировать его. Это - процесс-зомби. Страница справочника для ps имеет

Z    Defunct ("zombie") process, terminated but not reaped by its parent.

См. также страницу Wikipedia на Процессе-зомби.

Если Вы действительно хотите избавиться от него, перезапущение apache2 может добиться цели. Перезагрузка машины, конечно, заставит его уйти, но это определенно не необходимо.

Этот вопрос подобен. - Как я могу уничтожить <более не существующий> процесс, родитель которого является init?

7
27.01.2020, 20:33
  • 1
    , Это на самом деле интересно, потому что я только что закончил перезагружать машину и процесс, находилось там в списке.Спасибо за помощь. –  cwd 09.12.2011, 07:31
  • 2
    Что, если они прибывают даже после перезагрузки или перезапуска апача? Это происходит на двух из моих серверов? –  J Bourne 09.02.2015, 15:24
  • 3
    @Sai это не должно подходить после перезагрузки. Если Вы имеете вопрос, спрашиваете это. –  Faheem Mitha 09.02.2015, 15:35

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

3
27.01.2020, 20:33

Можно отправить a SIGCHLD предупредите к родительскому процессу вместо того, чтобы уничтожить его. Если родительский процесс регистрируется в этом сигнале и wait системный вызов называют, этот более не существующий процесс будет удален.

3
27.01.2020, 20:33

Теги

Похожие вопросы