kill
solo envía una señal al proceso dado. El -9
le dice qué señal enviar.
Diferentes números corresponden a diferentes señales comunes. SIGINT
, por ejemplo, es 2, por lo que para enviar un proceso, la SIGINT
señal emite el comando
$ kill -2 <pid>
La página de manual aquí especifica:
La señal predeterminada para matar es TERM.
La página de manual también proporciona una tabla de señales que puede enviar. De acuerdo con esta tabla, TERM
es 15
, estos son todos equivalentes:
kill <pid>
kill -15 <pid>
kill -TERM <pid>
El aviso 9 es la KILL
señal.
Name Number Action
-----------------------
ALRM 14 exit
HUP 1 exit
INT 2 exit
KILL 9 exit this signal may not be blocked
PIPE 13 exit
POLL exit
PROF exit
TERM 15 exit [Default]
USR1 exit
USR2 exit
VTALRM exit
STKFLT exit may not be implemented
PWR ignore may exit on some systems
WINCH ignore
CHLD ignore
URG ignore
TSTP stop may interact with the shell
TTIN stop may interact with the shell
TTOU stop may interact with the shell
STOP stop this signal may not be blocked
CONT restart continue if stopped, otherwise ignore
ABRT 6 core
FPE 8 core
ILL 4 core
QUIT 3 core
SEGV 11 core
TRAP 5 core
SYS core may not be implemented
EMT core may not be implemented
BUS core core dump may fail
XCPU core core dump may fail
XFSZ core core dump may fail
kill <pid>
) es TERM.KILL
ySTOP
son las llamadas señales no capturables. Eso significa que cuandoTERM
se envía una señal a un proceso, puede capturarla y realizar varias operaciones de "apagado" que necesita hacer. LaKILL
señal detiene el proceso de inmediato.man 7 signal
La señal predeterminada es TERM que permite que el programa que se está ejecutando lo atrape y realice una limpieza antes de salir. Un programa también puede ignorarlo si está escrito de esa manera.
Especificar -9 o KILL como señal no permite que el programa lo atrape, limpie o lo ignore. Solo debe usarse como último recurso.
Para ver la lista de números y nombres de señales en Bash, use
kill -l
(letra ell).fuente
Estoy usando Ubuntu Linux.
Los comandos de matar básicamente envían una señal al proceso para finalizarlo. Para simplificar las complejas expectativas de comportamiento de la informática cotidiana, el comando kill tiene varias opciones junto con él.
Como se explicó anteriormente con todas las opciones de números de eliminación correspondientes a su definición.
Me gustaría agregarle algunas líneas.
Como puede ver arriba, estas son todas las opciones de eliminación que obtendrá si ejecuta Ubuntu Linux.
Pero ciertas señales de muerte son comunes en todos los sabores * NIX.
kill -9 es la opción SIGKILL y el núcleo no puede ignorar esta señal, lo que significa que tiene honor esta opción -9 o SIGKILL y sale del proceso de inmediato. Recuerde que este proceso no puede ser manejado por los programas de aplicación.
kill -15, por otro lado, enviará una señal SIGTERM, lo que significa que esperará a que el proceso se cierre limpiamente antes de salir. Esta es la señal predeterminada.
fuente