Cómo matar todos los procesos para un usuario en Linux

Cómo matar todos los procesos para un usuario en Linux
No hay nada más frustrante que iniciar sesión en su sistema Linux solo para que muchos procesos ralenten su máquina. Aunque Linux es muy bueno en la gestión de procesos, es posible que deba cancelar algunos procesos manualmente.

En este tutorial, discutiremos cómo encontrar y matar procesos de un usuario específico. Usaremos herramientas como Pkill y Killall.

NOTA: Asegúrese de tener acceso a una cuenta administrativa o a la cuenta raíz porque los usuarios regulares solo pueden matar sus procesos, no los procesos que pertenecen a otros usuarios. Por otro lado, el usuario de la raíz puede matar todos los procesos.

Empecemos.

Comprensión de las señales del sistema

Para matar un proceso específico, el comando envía una señal al proceso. Por defecto, los comandos de matar como Killall envían una señal de término que detiene con gracia el proceso especificado.

Antes de proceder a matar el comando, tomemos una breve descripción de las señales de proceso.

Los tipos comunes de señales de muerte incluyen:

  • Suspiro - Esta señal recarga un proceso. Tiene un valor entero de 1.
  • Firme - Interrumpir desde el teclado como Ctrl + C. Tiene un valor entero de 2.
  • Sigkill - Matar un proceso. Tiene un valor entero de 9.
  • Siglo - Esta es una señal de terminación que, como se indica, detiene con gracia un proceso. Tiene un valor entero de 15.
  • Signo - Detiene un proceso. Tiene un valor entero de 17, 19 o 23.

NOTA: Al terminar los procesos, es bueno comenzar con la señal menos agresiva, como el término. El uso de una señal como el término permitirá que el programa se apague correctamente y use las medidas establecidas cuando el programa reciba la señal del término.

Una señal de matar también puede ser útil, especialmente si un proceso ha encontrado un error, no puede salir o no responde a la señal int.

Para ver todas las señales disponibles, use un comando como un kill -l

Método #1 - El comando killall

El primer comando que puede usar para matar los procesos de Linux es el comando killall. Para esto, necesita el valor PID o el nombre del proceso que desea finalizar.

Puede usar una herramienta como PGREP para obtener el PID de un proceso específico.

Por ejemplo:

$ PGREP BASH
2500

Una vez que tenga el valor PID del proceso, puede finalizar usando el comando Kill como:

$ Killall -15 2500
# o
$ Killall -15 Bash

El comando anterior enviará una señal de terminación elegante.

Para enviar una señal de matar, use el entero -9 como:

$ Kill -9 2500
# o
$ Killall -9 Bash

Cómo matar todos los procesos de usuario con Killall

El comando killall le permite terminar todos los procesos propiedad de un usuario específico. Para hacer esto, use la bandera -u.

Por ejemplo, para finalizar todos los procesos generados por el usuario de Ubuntu.

$ sudo killall -u ubuntu

PRECAUCIÓN: Dependiendo del usuario especificado en el comando, la terminación de los procesos puede hacer que el sistema se bloquee o detenga los procesos críticos del sistema. Por lo tanto, antes de aplicar este comando, asegúrese de que el usuario en cuestión no esté ejecutando procesos que no desee finalizar.

Método #2: el comando pkill

Otra gran herramienta que puede usar para terminar los procesos de Linux es el comando pkill. Este comando funciona de manera similar a Killall.

Por ejemplo, para finalizar el proceso BASH con PKill, use el comando:

$ PKILL -15 BASH
# o
$ pkill -15 2500

Para matar todos los procesos propiedad del usuario de Ubuntu, podemos usar el comando:

sudo pkill -9 -u ubuntu

Conclusión

Eso es todo para este.

En esta guía, rápidamente discutimos formas de terminar los procesos en Linux y varios tipos de señales de muerte. Como se ve, matar un solo proceso o múltiples procesos propiedad de un usuario específico de Linux es fácil.