Encontrar procesos Zombies y darle Kill en linux

  • Categoría: Linux
  • Publicado hace más de 3 años
Como Encontrar procesos Zombies y darle un Kill en linux
 Para tener en claro que son procesos Zombies, lo definiria de esta manera:
 
En sistemas operativos Unix, un proceso zombie o ?defunct? (difunto) es un proceso que ha completado su ejecución pero aún tiene una entrada en la tabla de procesos, permitiendo al proceso que lo ha creado leer el estado de su salida. Metafóricamente, el proceso hijo ha muerto pero su ?alma? aún no ha sido recogida.
 
Cuando un proceso acaba, toda su memoria y recursos asociados a él se desreferencian, para que puedan ser usados por otros procesos. De todas formas, la entrada del proceso en la tabla de procesos aún permanece.
 
Cuando tenemos una máquina que no funciona correctamente es posible que los procesos estén en estado zombi. Para poder ver los procesos en este estado usamos el comando siguiente:
 

ps -el | grep 'Z'

 
Con el comando ps -el se puede obtener una salida en la que la segunda columna indica el estado del proceso. Existen varios estados:
 

S : sleeping

R : running

D : waiting

T : gestopt (suspended)

Z : zombie (defunct)

 
Un ejemplo podría ser el siguiente:
 

# ps -el | grep 'Z'

F S   UID   PID  PPID  C PRI  NI ADDR    SZ WCHAN  TTY          TIME CMD

1 Z     0  1213   589  0  75   0    -     0 funct> ?        00:00:00 dovecot-auth



Donde vemos que el proceso dovecot-auth está en estado zombi.

 
Vamos a explicarlo mas a fondo:
 
Desde el comando ?top? podemos ver que hay procesos zombie, pero no podemos ver cuál es. Para ello debemos listar los procesos del sistema con ?ps? y buscando los que tienen estado Z (que es el descriptor de este tipo de procesos como vimos anteriormente):
 
llmando TOP:
 
Abrimos la terminal y tecleamos top para ver los procesos, en la imagen mostrada se puede observar que esta marcado un proceso zombie.
 

 
 
Detectando los procesos Zombie:
 
Hacemos un llamado con el comando:
Cita: Mostrar
para detectar cuales son los procesos que estan en estado zombie,
como se muestra en la captura:
 
 

 
 
 
Matando los Procesos Zombie:
 
Para matar el proceso zombien detectado, hacemos un llamado con el comando:
 

 kill -HUP `ps -A -ostat,ppid,pid,cmd | grep -e ?^[Zz]? | awk ?{print $2}?` 
en la siguiente captura se muestra la ejecución del comando aplicado:



 
 
Ya con estos pasos matamos los procesos Zombie, pero si queremos verificar que todo esta en orden, volvemos hacer un llamado al comando top, como se muestra en la siguiente captura el porceso zombien ya no esta en ejecución.
 


 
 
 
También podemos volver hacer el llamado al comando
Cita: Mostrar
como lo muestra en la siguiente captura:
 

 
 
Espero que le sirva de mucha ayuda esta breve pero clara explicación sobe los procesos Zombies.
Encontrar procesos Zombies y darle Kill en linux
10 Puntos Score: 10/10
Visitas: 550 Favoritos: 5
Ver los usuarios que votaron...
2 Comentarios Encontrar procesos Zombies y darle Kill en linux
muchas gracias por el aporte, me sirvi?
esta bueno el aporte.. algo sabia de esos procesos pero no sabia como eliminarlos  
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!