Tutorial de comando pkill de Linux para principiantes (5 ejemplos)

Proceso eliminado con pkill

En Linux, si necesita eliminar un proceso (por cualquier motivo) a través de la línea de comando, puede usar el comando de eliminación, que requiere que pase como entrada la ID del proceso que está tratando de finalizar. Pero, ¿sabía que también existe una forma de matar procesos sin especificar sus PID?

Sí, hay una herramienta, denominada matar – que te permite hacer esto. En este artículo, discutiremos los conceptos básicos de este comando utilizando algunos ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos aquí se probaron en una máquina con Ubuntu 18.04 LTS y Debian 10.

Comando pkill de Linux

El comando pkill en Linux es básicamente una forma más fácil de eliminar procesos. A continuación se muestra su sintaxis:

pkill [options] pattern

Y esto es lo que dice la página de manual sobre esta herramienta:

pkill - signal processes based on name and other attributes

Los siguientes son algunos ejemplos estilo preguntas y respuestas que le darán una mejor idea de cómo funciona el comando pkill.

Q1. ¿Cómo usar el comando pkill?

El uso básico es bastante sencillo: todo lo que tiene que hacer es ejecutar ‘pkill’ con el nombre del proceso como entrada.

Por ejemplo, si está tratando de eliminar el proceso ‘gedit’, puede hacerlo usando pkill de la siguiente manera:

pkill gedit

Eso es todo. Verá que el proceso gedit (si se está ejecutando) se eliminará al ejecutar el comando mencionado anteriormente.

Q2. ¿Cómo hacer que pkill envíe una señal diferente?

Como ya se mencionó al comienzo de este artículo, el comando pkill básicamente envía una señal al proceso. De manera predeterminada, es la señal SIGTERM la que se envía, pero si lo desea, puede cambiar la señal usando la opción de línea de comando –signal.

Por ejemplo:

pkill --signal SIGKILL gedit

Q3. ¿Cómo matar procesos basados ​​​​en la línea de comando completa?

De forma predeterminada, el nombre de entrada (patrón) se compara con el nombre del proceso. Sin embargo, si lo desea, puede hacer que pkill coincida con la línea de comando completa. Esto se puede hacer usando la opción de línea de comando -f.

Por ejemplo, supongamos que hay dos comandos de ping ejecutándose en mi sistema. El siguiente es un extracto tomado de la salida del comando ps:

...
root 19253 0.0 0.1 9180 2916 pts/1 S+ 19:24 0:00 ping google.com
root 19331 0.0 0.1 9180 2912 pts/2 S+ 19:25 0:00 ping howtoforge.com
...

Ahora, supongamos que el requisito es eliminar solo el comando ‘ping google.com’ usando pkill.

Si usa pkill de la siguiente manera:

pkill ping

entonces ambos comandos serán eliminados. Entonces, para evitar eso, podemos usar la opción de línea de comando -f. Así es como se puede usar:

pkill -f "ping google.com"

He ejecutado el comando en la primera ventana de terminal:

Proceso eliminado con pkill

Resultado en la segunda ventana de terminal donde se estaba ejecutando el proceso de ping:

El proceso en la segunda terminal se detuvo con el comando pkill

Entonces, cuando se ejecutó el comando mencionado anteriormente, solo se eliminó el comando mencionado como entrada.

Q4. ¿Cómo hacer que pkill no distinga entre mayúsculas y minúsculas?

De forma predeterminada, el comando pkill distingue entre mayúsculas y minúsculas, lo que significa que trata los nombres en mayúsculas y minúsculas de manera diferente. Sin embargo, si lo desea, puede forzar que pkill no distinga entre mayúsculas y minúsculas, algo que puede hacer usando la opción de línea de comandos -i.

pkill -i [process-name]

P5. ¿Cómo hacer que syslog vuelva a leer su archivo de configuración usando pkill?

Puede usar el comando pkill de la siguiente manera para lograr esto:

pkill -HUP syslogd

Conclusión

Entonces pkill es un comando extremadamente útil cuando se trata de matar procesos. Ya hemos discutido algunas de las opciones de la línea de comandos que proporciona este comando. Una vez que haya terminado de practicar estos, puede obtener más información sobre el comando dirigiéndose a su página man.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *