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:
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.