Завершение зомби-процесса в средах Linux
Summary: Что такое зомби-процесс, как его найти и как его убить или уничтожить.
Ez a cikk a következő(k)re vonatkozik:
Ez a cikk nem vonatkozik a következő(k)re:
Ez a cikk nem kapcsolódik egyetlen konkrét termékhez sem.
Ez a cikk nem azonosítja az összes termékverziót.
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
Érintett termékek
Dell OpenManage Enterprise, NetWorker SeriesTermék tulajdonságai
Article Number: 000019108
Article Type: How To
Utoljára módosítva: 12 ápr. 2025
Version: 4
Választ kaphat kérdéseire más Dell-felhasználóktól
Támogatási szolgáltatások
Ellenőrizze, hogy a készüléke rendelkezik-e támogatási szolgáltatással.