kill
Envía una señal a un proceso para terminarlo o controlarlo.
Sirve para terminar un proceso por su PID: desde pedirle que cierre ordenadamente hasta forzarlo cuando ya no responde. Lo usas cuando un programa se cuelga, un script corre para siempre o te sobra un proceso que consume recursos.
kill [opciones] PID...kill -9 mata el proceso de golpe, sin dejarlo guardar ni limpiar: puedes perder datos o dejar archivos a medio escribir, sobre todo en bases de datos. Además, con sudo puedes matar procesos del sistema; revisa bien el PID antes de mandarlo.
Despiece
5 ejemplosTerminar un proceso de forma normal
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | kill | Comando | El comando que envía señales a los procesos. |
| 2 | 1234 | Argumento | El PID del proceso que quieres terminar. |
Envía la señal TERM, que le pide al proceso que termine. Los programas bien hechos cierran sus archivos antes de salir; algunos pueden ignorarla.
Forzar el cierre de un proceso
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | kill | Comando | El comando que envía señales a los procesos. |
| 2 | -9 | Opción | La señal KILL: mata el proceso sin darle oportunidad de cerrar nada. |
| 3 | 1234 | Argumento | El PID del proceso que quieres terminar. |
El proceso termina de inmediato, aunque estuviera colgado. La excepción son los procesos atorados esperando al disco (estado D) y los zombis, que ya están muertos.
Ver la lista de señales disponibles
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | kill | Comando | El comando que envía señales a los procesos. |
| 2 | -l | Opción | Muestra el nombre y número de cada señal. |
Imprime todas las señales como TERM, INT, STOP y KILL con su número.
Pausar un proceso sin terminarlo
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | kill | Comando | El comando que envía señales a los procesos. |
| 2 | -STOP | Opción | La señal que congela el proceso sin cerrarlo. |
| 3 | 1234 | Argumento | El PID del proceso que quieres pausar. |
El proceso se congela y deja de usar CPU, pero sigue en memoria. Sus procesos hijos siguen corriendo, porque la señal solo va al PID que indicaste.
Reanudar un proceso pausado
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | kill | Comando | El comando que envía señales a los procesos. |
| 2 | -CONT | Opción | La señal que reanuda un proceso pausado con -STOP. |
| 3 | 1234 | Argumento | El PID del proceso que quieres reanudar. |
El proceso vuelve a correr desde donde lo pausaste.
Opciones
Las que sí vas a usar| Opción | Qué hace |
|---|---|
| -l | Muestra la lista de señales que entiende el sistema. |
| -TERM | La señal por defecto, también escrita como -15. Pide al proceso que cierre de forma ordenada. |
| -9 | La señal KILL. Mata el proceso al instante, sin darle tiempo de guardar nada. |
| -INT | La señal INT, la misma que dispara Ctrl+C en la terminal. |
| -STOP | Pausa el proceso sin terminarlo; se reanuda después con -CONT. |
| -CONT | Reanuda un proceso que fue pausado con -STOP. |
Fallas comunes
| Falla | Remedio |
|---|---|
| Usar kill -9 como primera opción. | Con -9 se pierde lo que el proceso no haya guardado. Empieza con kill PID, espera unos segundos y usa -9 solo si sigue sin responder. |
| Terminar el PID equivocado. | Verifica antes con ps aux | grep nombre. Confirma que el PID corresponde al proceso correcto y a nadie más. |
| Recibir el mensaje Operation not permitted. | Solo puedes enviar señales a tus propios procesos. Si el proceso es de otro usuario o de root, necesitas sudo. |
| Ver que un proceso no se termina aunque le mandes kill. | Un proceso puede tardar en cerrar o ignorar TERM. Dale unos segundos, prueba kill -INT y, si sigue sin cerrar, hasta entonces usa kill -9. |
Preguntas frecuentes
- ¿Qué hace kill -9?
- Envía la señal SIGKILL, que mata el proceso de inmediato. El proceso no puede cerrar archivos ni guardar nada, por eso se reserva para cuando un proceso no responde a la señal normal.
- ¿Cómo mato un proceso en Linux?
- Primero encuentra su PID: ps aux | grep nombre o pgrep nombre. Luego ejecuta kill PID para que cierre de forma ordenada, y kill -9 PID si no responde. Si prefieres hacerlo por nombre, usa pkill nombre.
- ¿Cuál es la diferencia entre kill y kill -9?
- kill manda la señal TERM, que le pide al proceso que termine y le da oportunidad de cerrar en orden. kill -9 manda KILL: el sistema lo elimina de golpe y el proceso no puede ni ignorarla ni guardar nada.
- ¿Qué significa el mensaje No such process?
- Que no hay ningún proceso con ese PID: ya terminó o escribiste mal el número. Ejecuta ps aux de nuevo para ver los PID actuales.
- ¿Cómo pauso un proceso sin cerrarlo?
- Con la señal STOP: kill -STOP PID. El proceso queda congelado sin gastar CPU, y lo reanudas con kill -CONT PID.