Завершение зомби-процесса в средах Linux
Summary: Что такое зомби-процесс, как его найти и как его убить или уничтожить.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Instructions
Что такое зомби-процесс:
Это процесс, который завершился, но не весь он немедленно удаляется из памяти, так как его дескриптор процесса остается в памяти.
Каким должно быть нормальное поведение процесса:
После завершения процесса состояние процесса принимает следующее
Затем родительский процесс должен запустить метод
Как найти зомби-процессы:
Выполнение команды
Выполнение команды
Как прекратить накапливающиеся зомби-процессы:
В большинстве случаев зомби-процессы имеют один и тот же идентификатор родительского процесса.
Существует два способа удаления процесса:
Это процесс, который завершился, но не весь он немедленно удаляется из памяти, так как его дескриптор процесса остается в памяти.
Каким должно быть нормальное поведение процесса:
После завершения процесса состояние процесса принимает следующее
EXIT_ZOMBIE и родительский процесс уведомляется о том, что его дочерний процесс умер с помощью метода SIGCHLD сигнал.
Затем родительский процесс должен запустить метод
wait() Для системного вызова для считывания состояния выхода мертвого процесса и другой информации. После wait() вызывается, зомби-процесс удаляется из памяти. Это происходит быстро, поэтому вы не увидите, как зомби-процессы накапливаются в вашей системе. Но в тех случаях, когда мы видим скопление нескольких зомби-процессов, это ситуация, когда программный код не эффективен.
Как найти зомби-процессы:
Выполнение команды
top
Выполнение команды
ps -ef | grep defunct
Как прекратить накапливающиеся зомби-процессы:
В большинстве случаев зомби-процессы имеют один и тот же идентификатор родительского процесса.
Существует два способа удаления процесса:
- Отправьте
SIGCHLDсигнал родительскому процессу.
Этот сигнал указывает родительскому процессу запустить команду
wait() системный вызов и очистка своих детей-зомби:
kill -s SIGCHLD <PPID>
Пример.
kill -s SIGCHLD 2201
- Завершение родительского процесса-зомби
kill -9 <PPID>
Пример.
kill -9 2201
Affected Products
Dell OpenManage Enterprise, NetWorker SeriesArticle Properties
Article Number: 000019108
Article Type: How To
Last Modified: 12 Apr 2025
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.