Завершення зомбі-процесу в середовищах 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.