Comandos LinuxExplicados en español
/
Ficha51 / 104
Categoría
Procesos
Ejemplos
5
Ver también
kill · ps · top

pkill

process kill (matar proceso)

Mata procesos que coincidan con un nombre o patrón.

Sirve para matar uno o varios procesos a partir de su nombre, sin tener que buscar su número de PID. Lo usas cuando una aplicación se queda trabada y quieres cerrarla rápido por nombre.

Sintaxispkill [opciones] patrón
Precaución

Con -9 o --signal SIGKILL matas el proceso sin darle tiempo a guardar nada. También puede matar más de lo que esperas si el patrón coincide con varios procesos (revisa con pgrep antes).

§ 1

Despiece

5 ejemplos
Cerrar un proceso por nombre

Cerrar un proceso por nombre

2 piezas
Lámina01 / 05
Comandopkill firefox
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1pkillComandoEl comando para matar procesos por nombre.
2firefoxValorNombre del proceso que quieres cerrar.
Resultado

Manda la señal SIGTERM a todos los procesos cuyo nombre contiene firefox.

Cerrar solo los procesos de un usuario

4 piezas
Lámina02 / 05
Comandopkill -u juan firefox
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1pkillComandoEl comando para matar procesos por nombre.
2-uOpciónLimita la búsqueda a los procesos de un usuario.
3juanValorEl usuario dueño de los procesos.
4firefoxValorEl nombre del proceso.
Resultado

Solo se cierran los firefox de juan; los de otros usuarios siguen abiertos. Para procesos de otro usuario necesitas sudo.

Matar solo por línea completa de comandos

3 piezas
Lámina03 / 05
Comandopkill -f 'python3 script.py'
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1pkillComandoEl comando para matar procesos por nombre.
2-fOpciónRevisa toda la línea de comandos, no solo el nombre.
3'python3 script.py'ValorPatrón que aparece en la línea completa que corriste.
Resultado

Solo mata los procesos que corren ese script, aunque su nombre sea python3 genérico.

Matar el proceso más reciente

3 piezas
Lámina04 / 05
Comandopkill -n vlc
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1pkillComandoEl comando para matar procesos por nombre.
2-nOpciónMata solo el proceso más reciente que coincida.
3vlcValorNombre del proceso.
Resultado

Solo el último vlc que se abrió recibe SIGTERM.

Forzar cierre cuando no responde

3 piezas
Lámina05 / 05
Comandopkill -9 firefox
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1pkillComandoEl comando para matar procesos por nombre.
2-9OpciónEnvía SIGKILL, que no pide que se guarde nada.
3firefoxValorProceso a matar por la fuerza.
Resultado

Mata firefox sin darle tiempo a guardar pestañas o archivos abiertos.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
-f--fullCoincide con toda la línea de comandos, no solo con el nombre del proceso.
-c--countAdemás de mandar la señal, imprime cuántos procesos coincidieron. No es un modo de prueba: sí los mata.
-n--newestSolo mata el proceso más reciente que coincida.
-o--oldestSolo mata el proceso más antiguo que coincida.
-u--uidSolo mata procesos de ese usuario (puedes poner nombre o UID).
-t--terminalSolo mata procesos que corran en esa terminal.
-9--signal KILLManda SIGKILL: cierra el proceso a la fuerza, sin dejarlo guardar ni limpiar. Úsalo solo si sin -9 no se cierra.
§ 3

Fallas comunes

FallaRemedio
Matar más procesos de los que querías.Antes de matar, revisa qué coincide con pgrep -l patrón (o pgrep -af patrón con -f). Usa un patrón más específico, -n/-o, o el PID exacto con kill.
Usar -9 sin probar primero.Prueba pkill sin -9 (manda SIGTERM). Usa SIGKILL solo si no responde.
El nombre no coincide con lo que aparece en ps.Usa -f para buscar en toda la línea de comandos (ruta, argumentos, etc.).
No tienes permiso para matar procesos de otro usuario.Necesitas ser root o usar sudo. Revisa con -u quién los corre.
§ 4

Preguntas frecuentes

¿Cuál es la diferencia entre pkill y kill?
kill necesita el número de PID. pkill mata por nombre o patrón, así que no tienes que buscar el PID primero.
¿Qué hace pkill sin opciones?
Manda SIGTERM a todos los procesos cuyo nombre coincida con el patrón que das.
¿Cuándo usar -f con pkill?
Cuando el nombre corto no basta, porque quieres coincidir con argumentos o con el comando completo, como 'python3 script.py'.
¿Es seguro usar pkill -9?
No siempre. SIGKILL no avisa ni deja guardar, puede perder datos. Usa SIGTERM primero y solo -9 si el proceso no responde.
¿Cómo veo qué va a matar pkill antes de ejecutarlo?
Corre pgrep con el mismo patrón y opciones: pgrep -af 'script.py' lista los PID y la línea completa sin matar nada. Ojo: pkill -c no sirve para esto, porque cuenta y además mata.
§ 5

Ver también