"Hay 1 proceso zombie"


33

Este mensaje aparece cuando inicio sesión en mi máquina ...

There is 1 zombie process.
  • Que me esta diciendo
  • ¿Es esto algo de lo que deba preocuparme?
  • En caso afirmativo, ¿qué debo hacer y cómo?

20
¿Tienes una escopeta de doble cañón cerca?
EEAA

Respuestas:


28

No hay nada de que preocuparse :

Zombi

En los sistemas operativos Unix, un proceso zombie o un proceso difunto es un proceso que ha completado la ejecución pero aún tiene una entrada en la tabla de procesos, lo que permite que el proceso que lo inició lea su estado de salida. En la colorida metáfora del término, el proceso hijo ha muerto pero aún no se ha cosechado.

Cuando finaliza un proceso, toda la memoria y los recursos asociados con él se desasignan para que otros procesos puedan utilizarlos. Sin embargo, la entrada del proceso en la tabla de procesos permanece. Al padre se le envía una señal SIGCHLD que indica que un niño ha muerto; El controlador de esta señal generalmente ejecutará la llamada al sistema de espera, que lee el estado de salida y elimina al zombi. El ID del proceso del zombi y la entrada en la tabla de procesos se pueden reutilizar. Sin embargo, si un padre ignora el SIGCHLD, el zombi quedará en la tabla de procesos. En algunas situaciones, esto puede ser deseable, por ejemplo, si el padre crea otro proceso hijo, asegura que no se le asignará la misma ID de proceso.

Fuente: http://wiki.answers.com/Q/What_is_Zombie_Process_and_Orphan_Process


Gracias Marc buena descripción; ahora, ¿cómo podría encontrarlo? Determinar si mantenerlo y, de lo contrario, eliminarlo (y el mensaje).
John Mee

Usualmente se irán solos, si esto realmente te irrita, podrías reiniciar o encontrar el PID del proceso principal y matarlo, pero depende de lo que está dejando atrás al zombie, eso podría ser problemático para matar ese proceso en particular.
Marc-Andre R.

2
No olvide aceptar mi respuesta si esta es la respuesta real a su pregunta;) ¡gracias!
Marc-Andre R.

10
Lo siento, respondiste solo la primera parte de su pregunta. Todavía no está claro si uno debería preocuparse por eso y qué hacer al respecto.

0

Como se explica en la respuesta aceptada, tiene un proceso que ha completado la ejecución pero aún está en la tabla de procesos: https://serverfault.com/a/390216/48449

Esto no debería causar daño si es solo un proceso, pero aún así no debería suceder. Si hay demasiados y no reinicia o reinicia el proceso principal que los produce, puede alcanzar el número máximo de procesos permitidos y causar problemas graves.

Para saber si la preocupación es apropiada y a qué otro proceso pertenece el zombi, esto funciona para mí:

ps -elf --forest | grep -C5 '<[d]efunct>'

Si es necesario, aumente el número de líneas de contexto para obtener información sobre el proceso principal, idealmente corrija ese proceso para que "coseche" sus subprocesos terminados.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.