kill -INT $pid
envia o sinal de "interrupção" para o processo com o ID de processo pid
. No entanto, o processo pode decidir ignorar o sinal ou capturar o sinal e fazer algo antes de sair e / ou ignorá-lo.
kill -9 $pid
envia o sinal "kill" que não pode ser capturado ou ignorado. O processo será encerrado à força sem nenhuma notificação ao processo e sem chance de fazer qualquer limpeza do que nunca. kill -9 $pid
quase nunca deve ser recomendado ou usado, embora algumas vezes seja necessário.
Conceitos avançados
kill -INT $pid
é o mesmo que kill -2 $pid
.
kill -9 $pid
é o mesmo que kill -KILL $pid
Existem muitas versões do comando kill
. A maioria das shells (ksh, bash, dash, etc) possuem comandos kill
internos e também um em /bin/kill
. Eles são todos ligeiramente diferentes, mas a maioria deles apóia os exemplos acima.
A maioria dos comandos kill possui uma opção -l
ou -L
para listar os sinais:
$ /bin/kill -L
1 HUP 2 INT 3 QUIT 4 ILL 5 TRAP 6 ABRT 7 BUS
8 FPE 9 KILL 10 USR1 11 SEGV 12 USR2 13 PIPE 14 ALRM
15 TERM 16 STKFLT 17 CHLD 18 CONT 19 STOP 20 TSTP 21 TTIN
22 TTOU 23 URG 24 XCPU 25 XFSZ 26 VTALRM 27 PROF 28 WINCH
29 POLL 30 PWR 31 SYS
$
Um bom lugar para ler sobre sinais é a página do manual "signal" na seção 7 do manual: man 7 signal
.