Como soy un novato en sistemas Linux / Unix y acabo de leer sobre procesos zombie , tengo una pregunta. Tengo 10 de ellos en este momento. ¿Necesito matarlos y si es así, por qué? ¿Son una carga en mi sistema?
592 processes: 581 sleeping, 1 running, 10 zombie, 0 stopped
Respuestas:
No puedes matar a un zombie, ya está muerto.
Los recursos de ese proceso son gratuitos y están disponibles para otros procesos. Lo que queda es una entrada en la tabla de procesos. Esto no influye en el rendimiento, no se preocupe.
fuente
/proc/sys/kernel/pid_max
, al igual que cualquier otro PID.Fuente: http://www.linuxsa.org.au/tips/zombies.html
Y en caso de que estés en una ola de asesinatos, este hilo de superusuario puede ser interesante para ti: ¿cómo encuentras el proceso principal de un proceso zombie?
fuente
No necesitas matarlos.
Para construir una comprensión básica:
Cada proceso es hijo de un proceso padre (excepto el proceso init, pero no debemos preocuparnos por eso).
Cuando un proceso secundario termina de ejecutarse, aún puede contener datos a los que el proceso principal desea acceder, generalmente un código de salida que describe el resultado del proceso secundario (¿Tuvo éxito? ¿Error? ¿Cuál fue el código de error?).
Un proceso hijo terminado se queda en la tabla de procesos como un proceso zombie hasta que el proceso padre "cosecha" o espera en el proceso hijo, que es simplemente el proceso padre que le dice al sistema operativo que ya no necesita ese proceso hijo; Ha leído los valores de retorno que desea, y ha terminado con él. En este punto, el sistema limpiará la entrada en la tabla de proceso.
fuente
Este proceso no necesita ser eliminado.
En caso de que quiera matarlo de todos modos (por cualquier razón), asegúrese de dispararle a la cabeza, aquí hay un comando útil:
Desde https://www.erianna.com/kill-a-linux-zombie-process
fuente
shoot at the head
.