Este artículo cubre los conceptos básicos del pkill
comando de Linux.
pkill
es una utilidad de línea de comandos que envía señales a los procesos de un programa en ejecución en función de criterios determinados. Los procesos se pueden especificar por sus nombres completos o parciales, un usuario que ejecuta el proceso u otros atributos.
El pkill
comando es parte del paquete procps
(o procps-ng
), que está preinstalado en casi todas las distribuciones de Linux. pkill
es básicamente una envoltura alrededor del pgrep
programa que solo imprime una lista de procesos coincidentes.
Cómo usar el pkill
comando
La sintaxis del pkill
comando es la siguiente:
pkill [OPTIONS] <PATTERN>
La coincidencia <PATTERN>
se especifica mediante expresiones regulares extendidas.
Cuando se invoca sin ninguna opción, pkill
envía la señal 15
( TERM
) a los PID de todos los programas en ejecución que coincidan con el nombre dado. Por ejemplo, para detener correctamente todos los procesos de Firefox, ejecutaría:
pkill -15 firefox
El comando regresa 0
cuando al menos un proceso en ejecución coincide con el nombre solicitado. De lo contrario, el código de salida es 1
. Esto puede ser útil al escribir scripts de shell.
Para enviar una señal diferente a los procesos coincidentes, invoque el pkill
comando con la --signal
opción, seguido del nombre de la señal numérica o simbólica. Otra forma de enviar una señal es correr pkill
seguido del nombre o número de la señal precedido por un guión ( -
).
Utilice el kill -l
comando para enumerar todas las señales disponibles.
Las señales más utilizadas son:
1
(HUP
): para recargar un proceso.9
(KILL
): para matar un proceso.15
(TERM
): para detener con gracia un proceso.
Las señales se pueden especificar de tres maneras diferentes:
- utilizando un número (p. ej., -1)
- con el prefijo “SIG” (por ejemplo, -SIGHUP)
- sin el prefijo “SIG” (p. ej., -HUP).
Por ejemplo, para recargar los procesos de Nginx, ejecutaría:
pkill -HUP nginx
pkill
utiliza expresiones regulares para hacer coincidir los nombres de los procesos. Siempre es una buena idea usar el pgrep
comando para imprimir los procesos coincidentes antes de enviarles señales. Por ejemplo, para enumerar todos los procesos que contienen "ssh" en sus nombres:
1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent
Si desea enviar una señal solo a los procesos cuyos nombres son exactamente como el patrón de búsqueda, usaría:
pkill '^ssh$'
^
) coincide al principio de la cadena y el dólar $
al final.De forma predeterminada, pkill
coincide solo con el nombre del proceso. Cuando -f
se usa la opción, el comando coincide con listas completas de argumentos. Si el comando contiene espacios, cita el comando completo:
pkill -9 -f "ping 8.8.8.8"
Use la -u
opción para indicarle pkill
que coincida con los procesos que ejecuta un usuario determinado:
pkill -u mark
Para especificar varios usuarios, separe sus nombres con comas:
pkill -u mark,danny
También puede combinar opciones y patrones de búsqueda. Por ejemplo, para enviar KILL
una señal a todos los procesos que se ejecutan bajo la "marca" del usuario y contienen "gnomo" en sus nombres, escribiría:
pkill -9 -u mark gnome
Para mostrar solo los procesos iniciados menos recientemente (más antiguos) o más recientemente (más nuevos), use la opción -n
(para los más nuevos) o (para los más antiguos).-o
Por ejemplo, para eliminar la pantalla creada más recientemente :
pkill -9 -n screen
Conclusión
El pkill
comando se utiliza para enviar señales a los programas en ejecución en función de diferentes criterios.
Para obtener más información sobre pkill
el comando, visite la página de manual de pkill o escriba man pkill
en su terminal.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.
0 Comentarios