Pregunta

Tengo un proceso desaparecida en mi sistema:

abc      22093 19508  0 23:29 pts/4    00:00:00 grep ProcA
abc      31756     1  0 Dec08 ?        00:00:00 [ProcA_my_collect] <defunct>

¿Cómo puedo matar el proceso anterior, y sin un reinicio de la máquina? He tratado con

kill -9 31756
sudo kill -9 31756
¿Fue útil?

Solución

Usted ha matado el proceso, sino un proceso muerto no desaparece de la tabla de procesos hasta su proceso padre lleva a cabo una tarea llamada "cosecha" (esencialmente llamando wait(3) para ese proceso de leer su estado de salida). procesos de muertos que no han sido cosechados son llamados " zombi procesos ."

El identificador del proceso padre que se ve a 31756 es el ID de proceso 1, que pertenece siempre a init. Ese proceso debe cosechar sus procesos de zombies periódicamente, pero si no puede, que permanecerá zombies en la tabla de procesos hasta que se reinicie.

Otros consejos

¿Ha comprobado por un proceso hijo que pueden necesitar ser matado por primera vez? A veces, el atasco de arriba es abajo de la línea ... Trate ps -ef --forest

para ver lo que puede ser por debajo de ella (si acaso) y luego matar a la primera, a continuación, el que ya sabe acerca de

Si kill -9 falla para matar a un proceso de la causa es casi siempre un error de controlador o sistema operativo.

El proceso init ha adoptado el proceso, pero no se puede cosechar. Es decir: cuando init a wait (2) no se devuelve ese proceso. Uno de los principales propósitos de inicio es para cosechar los niños huérfanos muertos, por lo que el problema no es que su padre murió antes de que fuera segada. Piense:? De lo contrario, que recoge los resultados de un proceso de cierre de sesión después de nohup'd

Matar a los niños del proceso desaparecida es poco probable que ayudar a menos que de alguna manera están relacionados con el error en particular que está viendo.

Usted está probablemente no va a ser capaz de matar si los padres no lo resuelve. Por alguna razón los sistemas no está recogiendo ese proceso zombi.

Fwiw, lo he visto un poco en los bafles SCO OpenServer que solía administrar. el uso de multi-usuario pesado y pocos recursos del sistema, pero no pareció afectar nada. Sólo me molestó. :)

El proceso probablemente cuelga en, por ejemplo haciendo caso omiso de las señales como SIGPIPE, consulte con strace -p <pid> lo que está sucediendo aquí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top