Se utilizan diferentes comandos para enviar señales a los procesos para terminarlos o "matarlos". Esto es necesario cuando un proceso deja de responder (se bloquea), provoca inestabilidad en el sistema o no puede ceder el control sobre un archivo que intenta modificar.
El comando "matar" envía cualquier señal específica, o por defecto la señal de terminación, a uno o más procesos. El PID debe especificarse como argumento.
Los siguientes son algunos ejemplos de implementación de señales de eliminación. Para finalizar correctamente un proceso con ID 921:
# kill 15 921
En su defecto, para eliminar el proceso de inmediato:
# kill 9 921
Alternativamente, para pausar en lugar de eliminar el proceso por completo:
# kill 17 921
Si encuentra el siguiente error mientras ejecuta el comando de eliminación:
kill: command not found
puede intentar instalar el siguiente paquete según su elección de distribución:
Distribución del sistema operativo | Comando |
---|---|
Debian | apt-get install procps |
Ubuntu | apt-get install procps |
Alpino | apk agregar procps |
Arco Linux | pacman -S procps-ng |
Kali Linux | apt-get install procps |
Cent OS | yum instalar procps-ng |
Fedora | dnf instalar procps-ng |
Raspbian | apt-get install procps |
Ejemplos de comandos de matar
1. Para obtener la lista de señales:
# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG 17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD 21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGINFO 30) SIGUSR1 31) SIGUSR2
2. Para enviar una señal particular:
# kill -s 9
3. Para especificar la lista de procesos para eliminar:
# kill 1234 2345 3456
4. Termine un programa utilizando la señal SIGTERM (terminar) predeterminada:
# kill process_id
5. Terminar un trabajo en segundo plano:
# kill %job_id
6. Termine un programa utilizando la señal SIGHUP (colgar). Muchos demonios se recargarán en lugar de terminar:
# kill -1|HUP process_id
7. Termine un programa utilizando la señal SIGINT (interrupción). Esto normalmente lo inicia el usuario presionando `Ctrl + C`:
# kill -2|INT process_id
8. Señale al sistema operativo que finalice inmediatamente un programa (que no tiene posibilidad de capturar la señal):
# kill -9|KILL process_id
9. Señale al sistema operativo que pause un programa hasta que se reciba una señal SIGCONT ("continuar"):
# kill -17|STOP process_id
10. Envíe una señal `SIGUSR1` a todos los procesos con el GID dado (ID de grupo):
# kill -SIGUSR1 -group_id