kill
apenas envia um sinal para o processo especificado. O -9
diz qual sinal enviar.
Números diferentes correspondem a diferentes sinais comuns. SIGINT
, por exemplo, é 2, portanto, para enviar um processo, o SIGINT
sinal emite o comando
$ kill -2 <pid>
A página de manual aqui especifica:
O sinal padrão para kill é TERM.
A página de manual também fornece uma tabela de sinais que você pode enviar. De acordo com esta tabela, TERM
é 15
, portanto, todos esses são equivalentes:
kill <pid>
kill -15 <pid>
kill -TERM <pid>
O aviso 9 é o KILL
sinal.
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>
) é TERM.KILL
eSTOP
são os chamados sinais não capturáveis. Isso significa que quando umTERM
sinal é enviado para um processo, ele é capaz de capturá-lo e executar várias operações de "desligamento" que ele precisa executar. OKILL
sinal interrompe o processo imediatamente.man 7 signal
O sinal padrão é TERM, que permite que o programa que está sendo morto o pegue e faça alguma limpeza antes de sair. Um programa também pode ignorá-lo, se for escrito dessa maneira.
Especificar -9 ou KILL como o sinal não permite que o programa o pegue, faça qualquer limpeza ou ignore. Só deve ser usado como último recurso.
Para ver a lista de números e nomes de sinais no Bash, use
kill -l
(letra ell).fonte
Estou usando o Ubuntu Linux.
Os comandos Kill basicamente enviam um sinal para processar para finalizá-lo. Para simplificar as expectativas comportamentais complexas do comando kill da computação cotidiana, há várias opções.
Como explicado acima, com todas as opções de números de morte correspondentes à sua definição.
Eu gostaria de adicionar algumas linhas a ele.
Como você vê acima, estas são todas as opções de interrupção que você terá se executar o Ubuntu Linux.
Mas certos sinais de morte são comuns em todos os sabores * NIX.
kill -9 é a opção SIGKILL e o kernel não pode ignorar esse sinal, o que significa que tem a honra dessa opção -9 ou SIGKILL e sai do processo imediatamente. Lembre-se de que este processo não pode ser tratado por programas aplicativos.
kill -15, por outro lado, enviará sinal SIGTERM, o que significa que aguardará o processo ser encerrado corretamente antes da saída. Este é o sinal padrão.
fonte