Выбор ответа Middle Процессы и сигналы обновлено

Как избавиться от зомби

Вопрос

В ps видно много процессов в состоянии Z с одним и тем же PPID. Что поможет?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Заставить родителя вызвать wait() или завершить его. Зомби уже завершён и ждёт, пока родитель заберёт код возврата через wait().

Варианты ответа

  1. Послать kill -9 каждому зомби по его PID из вывода ps
  2. Перезагрузить сервер, другого способа нет
  3. Освободить память через drop_caches
  4. Заставить родителя вызвать wait() или завершить егоправильный ответ

Разбор

Зомби уже завершён и ждёт, пока родитель заберёт код возврата через wait(). Сигнал зомби ничего не сделает: процесса нет. Корректный родитель обрабатывает SIGCHLD; если он «завис», его исправляют или завершают, и тогда PID 1 приберёт осиротевших зомби. Перезагрузка избыточна, сброс кешей к таблице процессов отношения не имеет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.