Cómo matar o detener un proceso en Linux

27 feb 2021 2 min di lettura
Cómo matar o detener un proceso en Linux
Indice dei contenuti

Introducción

Hay varias formas de matar un proceso de manera efectiva: detener un proceso por nombre, matar un proceso especificando parte del nombre, matar un proceso subrayando el proceso con el cursor, etc. Todas las siguientes convenciones de eliminación enviarán la señal TERM al proceso especificado. Para las señales, puede utilizar el nombre de la señal o el número de la señal. Tienes que buscar el PID del proceso y darlo como argumento para finalizar el proceso.

Cómo matar o detener un proceso en Linux

Para matar un proceso, use el comando kill. Sin embargo, este comando también se puede utilizar para enviar diferentes señales a varios procesos. Para ver la lista de señales que puede enviar, escriba:

kill -l

Un número está asociado con cada comando. Por ejemplo:

kill -9 5187

Donde -9 es el número de la señal a enviar y 5187 es el PID del proceso que queremos terminar.

Atención, esta lista varía según el sistema en uso.

Estos son los parámetros que podrían ser más útiles:

  • SIGHUP: se utiliza para enviar una solicitud de colgar a un proceso; algunos procesos que reciben una señal de este tipo se reinician recargando su archivo de configuración;
  • SIGQUIT: se utiliza para enviar una solicitud de salida a un programa;
  • SIGTERM: esta es una solicitud de terminación bastante suave: en este caso, el proceso debe iniciar algunos procedimientos antes de terminar;
  • SIGKILL: se utiliza para matar un proceso cuando SIGQUIT y SIGTERM no funcionan.

Para verificar que el proceso haya finalizado, simplemente vuelva a consultar la lista de procesos.

Con el comando pkill, puede proporcionar un nombre de proceso, nombre de usuario u otro método para indicar a qué proceso (o procesos) enviar una señal. Por tanto, no es necesario utilizar el proceso PID:

pkill sleep

Lo siguiente enviará una señal de interrupción a todos los procesos propiedad del usuario noviello:

pkill -u noviello

Antes de usar el comando pkill, use el comando pgrep -l para ver el PID del proceso y el nombre del proceso o procesos coincidentes:

pgrep -l sleep

El comando killall requiere el nombre del proceso en lugar del PID y eliminará todos los procesos correspondientes a ese nombre.

Por ejemplo:

killall -9 apache2

Puede suceder que los comandos genéricos para matar un proceso como kill o killall o pkill no sean suficientes.

Para finalizar permanentemente un proceso, use el comando -KILL.

Primero determine su PID de proceso y luego elimínelo de la siguiente manera:

pidof apache2
sudo kill -KILL 5187

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.