Завершение зомби-процесса в средах 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.
En este artículo no se identifican todas las versiones de los productos.
Instrucciones
Что такое зомби-процесс:
Это процесс, который завершился, но не весь он немедленно удаляется из памяти, так как его дескриптор процесса остается в памяти.
Каким должно быть нормальное поведение процесса:
После завершения процесса состояние процесса принимает следующее
Затем родительский процесс должен запустить метод
Как найти зомби-процессы:
Выполнение команды
Выполнение команды
Как прекратить накапливающиеся зомби-процессы:
В большинстве случаев зомби-процессы имеют один и тот же идентификатор родительского процесса.
Существует два способа удаления процесса:
Это процесс, который завершился, но не весь он немедленно удаляется из памяти, так как его дескриптор процесса остается в памяти.
Каким должно быть нормальное поведение процесса:
После завершения процесса состояние процесса принимает следующее
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
Productos afectados
Dell OpenManage Enterprise, NetWorker SeriesPropiedades del artículo
Número de artículo: 000019108
Tipo de artículo: How To
Última modificación: 12 abr 2025
Versión: 4
Encuentra las respuestas que necesitas con la ayuda de otros usuarios de Dell
Servicios de asistencia
Comprueba si tu dispositivo está cubierto por los servicios de asistencia.