Linux: Завершення зомбі-процесу в середовищах Linux
Summary: Що таке зомбі-процес, як його знайти і як вбити або припинити.
Acest articol se aplică pentru
Acest articol nu se aplică pentru
Acest articol nu este legat de un produs specific.
Acest articol nu acoperă toate versiunile de produs existente.
Instructions
Що таке зомбі-процес:
Це процес, який завершився, але не весь його одразу видаляється з пам'яті, оскільки його опис процесу залишається в пам'яті.
Якою має бути нормальна поведінка процесу:
Коли процес завершується, його статус стає
.Тоді батьківський процес має виконувати
Як знайти зомбі-процеси:
Виконання команди
Виконання команди
Як припинити накопичення зомбі-процесів:
Зазвичай зомбі-процеси мають однаковий батьківський ID
.Існує два способи усунення процесу:
Це процес, який завершився, але не весь його одразу видаляється з пам'яті, оскільки його опис процесу залишається в пам'яті.
Якою має бути нормальна поведінка процесу:
Коли процес завершується, його статус стає
EXIT_ZOMBIE а батько процесу отримує повідомлення, що його дочірній процес припинив роботу разом із SIGCHLD Сигнал
.Тоді батьківський процес має виконувати
wait() для системного виклику для зчитування статусу виходу мертвого процесу та іншої інформації. Після wait() називається, зомбі-процес видаляється з пам'яті. Це відбувається швидко, тому ви не бачите накопичення зомбі-процесів у вашій системі. Але у випадках, коли ми бачимо накопичення кількох зомбі-процесів, це ситуація, коли програмний код не є ефективним.
Як знайти зомбі-процеси:
Виконання команди
top
Виконання команди
ps -ef | grep defunct
Як припинити накопичення зомбі-процесів:
Зазвичай зомбі-процеси мають однаковий батьківський ID
.Існує два способи усунення процесу:
- Надішліть
SIGCHLDсигнал для батьківського процесу.
Цей сигнал повідомляє батьківському процесу виконати
wait() Системний дзвінок і прибери своїх зомбі-дітей:
kill -s SIGCHLD <PPID>
Приклад:
kill -s SIGCHLD 2201
- Процес знищення зомбі-батьків
kill -9 <PPID>
Приклад:
kill -9 2201
Produse afectate
SUSE Linux Enterprise Server 12, Red Hat Enterprise Linux Version 7, Red Hat Enterprise Linux Version 9, Red Hat Enterprise Linux Version 8, SUSE Linux Enterprise Server 15, Ubuntu Server LTSProprietăți articol
Article Number: 000019108
Article Type: How To
Ultima modificare: 03 Feb 2026
Version: 5
Găsiți răspunsuri la întrebările dvs. de la alți utilizatori Dell
Servicii de asistență
Verificați dacă dispozitivul dvs. este acoperit de serviciile de asistență.