Cómo terminar procesos que no responden en Linux con kill y pkill

Lidiar con programas que no responden puede ser un trabajo complicado, especialmente si se ejecuta en hardware antiguo. En ese caso, la congelación del sistema se convierte en un problema común. Afortunadamente, hay muchas formas de eliminar los procesos que no responden en Linux.

Los comandos kill y pkill brindan soluciones simples pero efectivas para terminar los procesos zombies que no responden desde la terminal. Las siguientes secciones describen cómo eliminar procesos bloqueados en Linux usando kill y pkill.

Terminar procesos que no responden usando kill

El comando kill en Linux le permite salir de los procesos que no responden con facilidad. Envía una señal de terminación al proceso. Por defecto, kill envía la señal SIGTERM , representada por la señal número 15 . El siguiente ejemplo usa kill para detener un proceso que tiene un PID de 27065.

 kill 27065

Los usuarios pueden enviar otras señales especificando el nombre o el número de la señal. Por ejemplo, los siguientes comandos kill detienen un proceso zombi usando la señal del sistema SIGKILL , representada por la señal número 9 .

 kill -9 27065
kill -SIGKILL 27065

La diferencia entre SIGTERM y SIGKILL es que los procesos pueden detectar e ignorar la señal SIGTERM. Pero, SIGKILL es inmune al manejo de procesos y mata programas inmediatamente.

Puede ver una lista de todas las señales disponibles utilizando los siguientes comandos kill.

 kill -l
kill -L

En general, SIGKILL será más adecuado cuando se trate de procesos del sistema que no responden . Por otro lado, SIGTERM es el camino a seguir si desea terminar correctamente los programas colgados.

Elimina los procesos que no responden con pkill

El comando pkill facilita la terminación de procesos en Linux al permitirnos matar programas basados ​​en su nombre. Por ejemplo, el siguiente comando mata el programa nano usando pkill.

 pkill nano

Como kill, pkill también envía la señal SIGTERM por defecto. Utilice la señal SIGKILL si desea detener el proceso que no responde inmediatamente.

 pkill -9 nano

Cómo obtener el ID de proceso (PID) de un proceso

Tener la información de PID puede ser de gran ayuda al finalizar procesos que no responden en Linux. Puede obtener el número PID de un proceso de varias formas. El siguiente comando recupera el PID de un proceso llamado nano usando el comando grep y ps.

 ps aux | grep nano

También puede usar el comando pgrep, que escupe el ID del proceso directamente.

 pgrep nano

Gestión de procesos que no responden en Linux

Los comandos kill y pkill facilitan el manejo de procesos que no responden en Linux. Todo lo que necesita para detener un proceso zombie es su PID y acceso a un shell. Sin embargo, es posible que necesite permisos de sudo adicionales al eliminar procesos que pertenecen a otro usuario. Por lo tanto, si está en un sistema multiusuario, pídale al administrador que lo agregue a la lista de sudoers antes de realizar cualquier acción.