Завершение зомби-процесса в средах Linux

Resumen: Что такое зомби-процесс, как его найти и как его убить или уничтожить.

Este artículo se aplica a Este artículo no se aplica a Este artículo no está vinculado a ningún producto específico. No se identifican todas las versiones del producto en este artículo.

Instrucciones

Что такое зомби-процесс:
Это процесс, который завершился, но не весь он немедленно удаляется из памяти, так как его дескриптор процесса остается в памяти.

Каким должно быть нормальное поведение процесса:
После завершения процесса состояние процесса принимает следующее EXIT_ZOMBIE и родительский процесс уведомляется о том, что его дочерний процесс умер с помощью метода SIGCHLD сигнал.

Затем родительский процесс должен запустить метод wait() Для системного вызова для считывания состояния выхода мертвого процесса и другой информации. После wait() вызывается, зомби-процесс удаляется из памяти. Это происходит быстро, поэтому вы не увидите, как зомби-процессы накапливаются в вашей системе. Но в тех случаях, когда мы видим скопление нескольких зомби-процессов, это ситуация, когда программный код не эффективен.

Как найти зомби-процессы:
Выполнение команды top
результаты команды Top

Выполнение команды ps -ef | grep defunct
Результат несуществующей команды

Как прекратить накапливающиеся зомби-процессы:
В большинстве случаев зомби-процессы имеют один и тот же идентификатор родительского процесса.

Существует два способа удаления процесса:
  • Отправьте SIGCHLD сигнал родительскому процессу.
Этот сигнал указывает родительскому процессу запустить команду wait() системный вызов и очистка своих детей-зомби:
kill -s SIGCHLD <PPID>
Пример.
kill -s SIGCHLD 2201
  • Завершение родительского процесса-зомби
kill -9 <PPID>
Пример.
kill -9 2201

Productos afectados

Dell OpenManage Enterprise, NetWorker Series
Propiedades del artículo
Número del artículo: 000019108
Tipo de artículo: How To
Última modificación: 12 abr 2025
Versión:  4
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.