Como en anteriores respuestas, la manera más fuerte para terminar cualquier proceso es SIGKILL
, por ejemplo kill -9 process_id
.
Sin embargo, existen procesos de lo que son simplemente imposibles de Force Quit
ni kill
. Se llama como zombie
procesos.
Aquí está un breve guión de lo que va a crear un zombie
proceso de dos minutos:
perl -e 'if($p=fork) {print "unkillable pid:$p\n" ;system("ps -l"); sleep(120)}'
Ejecute la secuencia de comandos en el Terminal y obtendrá la salida, como a continuación:
unkillable pid:50571
UID PID PPID F CPU PRI NI SZ RSS WCHAN S ADDR TTY TIME CMD
501 47380 47379 4006 0 31 0 2448416 2900 - S 0 ttys000 0:00.36 -bash
501 50570 47380 4006 0 31 0 2443512 1424 - S+ 0 ttys000 0:00.01 perl -e if($p=fork) {print "u
#THIS-> 501 50571 50570 2006 0 0 0 0 0 - Z+ 0 ttys000 0:00.00 (perl)
501 12795 12794 4006 0 31 0 2448296 1752 - S+ 0 ttys001 0:00.75 -bash
501 50123 50122 4006 0 31 0 2448296 2688 - S+ 0 ttys002 0:00.14 -bash
Si usted compruebe la columna de estado para el imbatible proceso (en este caso: 50571) ver el Z
bandera, ¿cuál es la media de zombie
.
Usted puede tratar de enviar cualquier kill
señal (por ejemplo, kill -9 50571
) y el proceso todavía existe. De todos modos, no duele mucho el sistema, porque en realidad no existe - sólo ocupa la tabla de procesos.
En el ejemplo anterior, en 120 segundos será borrado.