Este artículo cubre los conceptos básicos de Linux pkill
comando.
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
El comando es parte de procps
(o procps-ng
), que está preinstalado en casi todas las distribuciones de Linux. pkill
es basicidad un envoltorio alrededor del pgrep
programa que solo imprime una lista de procesos coincidentes.
Cómo usar el pkill
Comando #
La sintaxis para pkill
El comando es el siguiente:
pkill [OPTIONS] <PATTERN>
El <PATTERN>
coincidente se especifica usando expresiones regulares extendidas.
Cuando se invoca sin ninguna opción, pkill
envía el 15
(TERM
) señal 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 devuelve 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 pkill
comando con --signal
opción, seguida del nombre de la señal numérica o simbólica. Otra forma de enviar una señal es ejecutar pkill
seguido del nombre o número de la señal precedido por un guión (-
).
Usa el kill -l
Comando para listar 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 correctamente un proceso.
Las señales se pueden especificar de tres maneras diferentes:
- utilizando un número (por ejemplo, -1)
- con el prefijo "SIG" (por ejemplo, -SIGHUP)
- sin el prefijo "SIG" (por ejemplo, -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$'
El signo de intercalación (^
) el carácter coincide con el principio de la cadena y el dólar $
al final.
Por defecto, pkill
coincide solo con el nombre del proceso. Cuando -f
se utiliza 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"
Usa el -u
opción para decirle a pkill
para hacer coincidir 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
señalar 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 -n
(para los más nuevos) o el -o
(para el más antiguo) opción.
Por ejemplo, para eliminar la pantalla creada más recientemente:
pkill -9 -n screen
Conclusión #
El pkill
El comando se utiliza para enviar señales a los programas en ejecución en función de diferentes criterios.
Para más información sobre pkill
comando, visite la página de manual de pkill o escriba man pkill
en tu terminal.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.