Introducción
En la administración de sistemas Linux, gestionar procesos es una tarea cotidiana. A veces es necesario detener, reiniciar o enviar una señal específica a un grupo de procesos que comparten el mismo nombre. El comando pkill permite hacerlo de forma rápida y segura, evitando tener que buscar el PID manualmente.
¿Qué es pkill?
pkill pertenece al paquete procps y funciona como una interfaz amigable de kill. En lugar de especificar el número de proceso (PID), se indica un patrón que coincide con el nombre del ejecutable o con otros atributos como el usuario, la terminal o el grupo. Internamente, pkill utiliza pgrep para localizar los PIDs y luego envía la señal indicada.
Sintaxis básica
La forma más simple es:
pkill [opciones] <señal> <patrón>
Si se omite la señal, se envía por defecto SIGTERM (15). Algunas opciones útiles son:
-u usuario: filtro por propietario.-t tty: filtro por terminal.-n: selecciona el proceso más reciente que coincida.-o: selecciona el proceso más antiguo.-v: invierte la coincidencia (excluye el patrón).-f: coincide con la línea completa de comando, no solo con el nombre del ejecutable.
Señales comunes
Las señales se pueden indicar por número o por nombre. Las más usadas en pkill son:
SIGTERM(15): solicita finalización ordenada.SIGKILL(9): finaliza el proceso de forma inmediata, sin posibilidad de captura.SIGHUP(1): suele usarse para recargar configuraciones de daemons.SIGINT(2): simula la pulsación de Ctrl+C.SIGSTOP(19): detiene el proceso; puede continuarse conSIGCONT.
Ejemplos prácticos
-
- Finalizar todos los procesos llamados
firefox:
- Finalizar todos los procesos llamados
pkill firefox
-
- Enviar
SIGHUPa los procesos desshdpertenecientes al usuarioadmin:
- Enviar
pkill -u admin -HUP sshd
-
- Detener el proceso más reciente que coincida con
backup.sh:
- Detener el proceso más reciente que coincida con
pkill -n -f backup.sh
-
- Reiniciar un servicio enviando
SIGUSR1a todos los procesos cuyo nombre contenganginx:
- Reiniciar un servicio enviando
pkill -USR1 nginx
Precauciones y mejores prácticas
Aunque pkill es potente, su uso descuidado puede afectar al sistema. Se recomienda:
- Primero ejecutar
pgrepcon el mismo patrón para ver qué PIDs van a ser afectados. - Evitar usar comodines demasiado amplios como
pkill *; podría intentar matar procesos críticos. - En entornos de producción, considerar el uso de
sudosolo cuando sea necesario y registrar las acciones en un log. - Recordar que
SIGKILLno permite una limpieza adecuada; úsalo solo cuandoSIGTERMno haya funcionado.
Conclusión
El comando pkill simplifica la señalización de procesos por nombre, ahorrando tiempo y reduciendo la posibilidad de errores al buscar PIDs manualmente. Conociendo su sintaxis, las señales más habituales y aplicando buenas prácticas, cualquier administrador de Linux puede gestionar procesos de forma eficiente y seguro.


