En esta guía, demostraremos cómo matar un proceso de Linux por su PID.
PID en Linux
El término PID es un acrónimo para el "número de identificación del proceso". A cada proceso se le asigna un PID único en el momento en que se crean en el sistema. El PID número 1 está asignado a Systemd (init, para sistemas más antiguos). Esencialmente, Systemd o Init es siempre el primer proceso que se inicia en Linux y es padre a todos los demás procesos.
Hay un par de herramientas que podemos usar para obtener el PID de un proceso objetivo. El método más popular (y recomendado) para obtener el PID es usar el comando PS. Es una herramienta incorporada disponible en todos los sistemas de Linux. Obtenga más profundidad sobre el comando PS en Linux.
Para imprimir todos los procesos de ejecución con su PID, ejecute el siguiente comando PS:
$ PS -EF
Para una navegación más fácil, impida la salida al comando menos:
$ PS -EF | menos
Observe que la columna PID enumera todos los procesos ordenados por PID. Es el valor que estamos buscando.
Buscando un proceso en particular con un nombre específico? Entonces el comando GREP es tu amigo. Puede buscar un patrón particular en el archivo dado (stdout, en este caso). Por ejemplo, el siguiente comando buscará cualquier proceso de Firefox en ejecución:
$ PS -EF | Grep Firefox
Si conoce el nombre del proceso de destino, entonces podemos usar el comando Pidof para obtener directamente el PID.
$ Pidof Firefox
Otro comando interesante para hacer el trabajo es PGREP. Funciona directamente en la lista de procesos actualmente en ejecución. El comando PGREP tomará el nombre del proceso como parámetro e imprimirá el PID de cualquier entrada coincidente.
$ PGREP Firefox
Tenga en cuenta el PID del proceso objetivo. La siguiente sección de este artículo mostrará la terminación del proceso por su PID.
Matar un proceso
Matar un proceso requiere enviar una señal terminal al proceso. Sin embargo, no hay una sola señal de terminación. Hay varios de ellos, cada uno actuando ligeramente diferente a los otros. Entonces, es crucial entenderlos primero.
Linux matar señales
El comando Kill en Linux es responsable de enviar las señales de terminación. Para obtener una explicación detallada, consulte esta guía sobre el comando de Kill Linux. En resumen, le dice al comando de matar qué señal enviar a qué proceso (usando PID).
Para obtener la lista completa de todas las señales de terminación, ejecute el siguiente comando:
$ Kill -l
En su mayor parte, sin embargo, solo necesitaremos un puñado de ellos. Aquí hay explicaciones detalladas de las señales de terminación más comunes que debe conocer sobre.
Matar un proceso usando matar
Esta es la forma predeterminada de terminar un proceso de destino en Linux. El comando Kill sigue la siguiente estructura de comando:
$ Kill -
Por ejemplo, para enviar Sigterm a un proceso, el comando se vería así:
$ Kill -15
Del mismo modo, si desea enviar Sigkill, use el siguiente comando:
$ Kill -9
Obtenga más información sobre el comando Linux Kill con explicaciones y ejemplos en profundidad.
Matar múltiples procesos usando Killall
El comando Killall actúa similar a Kill. Sin embargo, en lugar de definir un PID específico, utiliza el nombre del proceso y envía la señal de terminación especificada a todos los procesos que coinciden con el nombre.
La estructura de comando de Killall se ve así:
$ Killall -
Por ejemplo, el siguiente comando Killall enviará SigterT a todos los procesos de Firefox en ejecución:
$ Killall -15 Firefox
Consulte esta guía en el comando Linux Killall para obtener explicaciones detalladas con ejemplos. También se recomienda consultar la página del hombre de Killall:
$ hombre killall
Matar múltiples procesos usando pkill
Similar al comando killall, PKill también puede buscar procesos basados en el nombre y enviar la señal de terminación especificada. La estructura de comando es casi similar también;
$ pkill -
Por ejemplo, use el siguiente comando PKill para terminar el proceso de Firefox con Sigterm:
$ pkill -15 Firefox
Como siempre, consulte la página del hombre de Pkill para ver las explicaciones en profundidad con todos los matices:
$ hombre pkill
Pensamientos finales
Esta guía muestra varias formas de matar un proceso por su PID. También demuestra métodos alternativos utilizando el nombre del proceso en lugar de PID. Siempre es mejor tener múltiples herramientas a su disposición. Aquí, usamos comandos PS y PGREP para encontrar los comandos PID y Kill, Pkill y Killall para matar procesos.
En muchas situaciones, es posible que desee deshacerse de los procesos de fondo molestos que están mal funcionando. Obtenga más información sobre cómo identificar procesos de fondo en Linux. Luego, siguiendo los métodos de esta guía, puede deshacerse fácilmente de los no deseados.
Computación feliz!