Diferença entre 'kill -9 pid' e 'kill -INT pid'?

5

Não consigo descobrir qual é a diferença entre

kill -9 <pid>

e

kill -INT <pid>

alguém pode explicar para mim como se eu tivesse 3 anos de idade?

    
por Alexander Mills 20.10.2017 / 23:09

1 resposta

8

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 .

    
por 20.10.2017 / 23:36

Tags