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 *