Terminar o matar un proceso zombi en Linux
Los procesos en un sistema operativo son fundamentales para dotar de «vida» al hardware, o al sistema en general. En informática, un proceso es cualquier programa en ejecución, es decir, un conjunto de instrucciones en funcionamiento asociados a un estado y a una porción de recursos (memoria, CPU). Sin embargo, en Linux es muy rara la vez que un proceso finalizado continúe con su ciclo de «vida». A esta «rareza de la naturaleza» es lo que llaman un proceso zombi o zombie.
Un proceso defunct (difunto), o proceso zombi, en realidad es un proceso hijo cuyo proceso padre no lo finalizó. Básicamente el proceso hijo ha finalizado su ejecución, pero mantiene una entrada en la tabla de procesos. Simbólicamente hablando, el proceso hijo muere pero su «alma» sigue deámbulando en el sistema.
Verificación de un proceso zombi
Empleando el comando ps podemos verificar si nuestro sistema alberga algún proceso zombi. Pero antes, recordemos la identificación del estado de cada proceso que nos muestra ps -Al, en la columna Estado (S).
- S– procesos suspendido (el proceso está esperando su turno para ejecutarse)
- R– proceso en corriendo
- D– proceso esperando a que finalice alguna operación de Entrada/Salida
- Z– proceso zombi
Tengamos en cuenta la columna PPID (id del proceso padre) y PID (id del proceso – proceso hijo), porque cuando un proceso pierde a su proceso padre, el proceso mayor init se convierte en su nuevo padre (PPID 1). Cuando el proceso es adoptado por init se le llama proceso huérfano. Sin embargo, cuando esto no sucede da nacimiento a un proceso zombi.
Realmente un proceso zombi no consume memoria ni procesador, pues se trata de una entrada «olvidada» en la tabla de procesos. En nuestro computador personal no tenemos mucho rollo para lidiar con este tema. Con reiniciar la máquina es suficiente. Sin embargo, en un entorno productivo quizá nos moleste ver esa entidad deámbulando por ahí, pues es evidencia de que un servicio o proceso no está funcionando del todo bien. En este caso debemos aplicar otras medidas más profesionales que veremos en seguida.
En busca de procesos zombis en Linux
El comando top nos puede hacer un recuento de posibles procesos zombis.

Conteo de procesos zombies con el comando top
El siguiente comando nos da información más detallada del proceso zombi.
ó también
Eliminación de un proceso zombi en Linux
Si detectamos algún un proceso zombi en nuestro sistema, tenemos tres opciones para «matarlo» (kill). Son las siguientes:
Primera opción:
Segunda opción:
Tercera opcion
Cuarta opción
Quinta opción
Si las cinco opciones anteriores no surten efecto, no se extrañe, ahí es donde el proceso zombi honra su nombre. Pero la última es la vencida:
Sexta opción:
Descarga el siguiente archivo (link en la imagen), quítele la extensión «.txt», asígnele permisos de ejecución y corralo como usuario root con la opción –admin.
Por ejemplo, un día me sucedió con Apache Web Server. Sucedía que la página de la intranet corporativa no cargaba. Procedí a verificar el estado de los procesos y de inmediato el sistema me informa sobre 11 procesos zombis (defunct) de Apache. Acto seguido procedí a ejecutar el programa zombi.sh y solucionado:

Eliminación de procesos zombies
Causas
Las causas más general de un proceso zombi es la mala programación del software de donde procede.
Puedes leer más sobre procesos zombis, aquí
Valora este artículo:
Sorprendente
Comparte esto en