Trabajo en una máquina Linux conectada a un clúster. Si lo hago top
en una terminal, veo muchos (~200) procesos inactivos. Probablemente fueron causados por mí al Ctrl+C
realizar esos procesos de manera inapropiada.
¿Cómo sé qué trabajos para dormir son seguros kill
?
EDITAR:Puedo comprobar los procesos mediante ps -e S
. El problema probablemente sea que no entiendo el resultado. Por ejemplo:
24086 pts/0 Ss+ 11971:50 -tcsh
24084 ? S 0:00 (sd-pam)
22183 ? Sl 10:08 /usr/bin/gedit --gapplication-service
4790 ? S 0:00 [kworker/u16:2]
1043 tty7 Ssl+ 91:14 /usr/sbin/brld --nodaemon
Y muchos otros. ¿Cómo sé que al eliminarlos no causo ningún problema a mi máquina ni a los trabajos registrados de otras personas?
Respuesta1
En lugar de mirar hacia arriba para ver sus procesos de sueño, sería mejor que hiciera un ps -ef | grep <process name>
en lugar de intentar obtenerlos desde arriba. De esta manera obtendrás lo pid
que necesitas para finalizar el proceso. Muchos de los procesos inactivos en la parte superior son normalmente procesos del sistema.
ejemplo:
[thebtm@localhost thebtm]# ps -ef | grep httpd
root 1257 1 0 Mar28 ? 00:00:51 /usr/sbin/httpd -DFOREGROUND
root 2920 10825 0 08:35 pts/3 00:00:00 grep --color=auto httpd
apache 16936 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 16937 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 16939 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 16940 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 20857 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 20858 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 20859 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 20860 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 21040 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 21041 1257 0 Apr10 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
[thebtm@localhost thebtm]# kill 16936