Que números de sinal funcionam com o comando kill?

6

Todos conhecemos o comando kill no Linux ( kill -9 se mais energia for necessária ;) ), mas o que não entendo é para quais são os outros números?

Estes são os números que conheço:

  1. kill -1 → Hangup (janela de fechamento)
  2. kill -2 → Interromper ( Controle + C )
  3. kill -9 → Matar
  4. kill -15 → Terminar

Quais são os outros números para 5 ou 12? É 15 o mais alto ou eu posso digitar kill -20234 ?

Eu tentei outros números e alguns deles funcionaram, mas isso ainda não me dá nenhuma compreensão do que está acontecendo sob o capô ou o caso de uso.

Nota: Apenas para ter certeza de que isso está relacionado apenas ao Linux (e Unix)

    
por user3892683 20.06.2015 / 20:02

2 respostas

8

Qual é o número do sinal que pode ser passado para matar?

kill -l lista os nomes dos sinais.

A página man SINAL (7) oferece uma visão geral dos sinais .

Por exemplo:

enter image description here

Veja o link acima para uma visão geral completa de todos os sinais.

    
por 20.06.2015 / 20:13
0

A resposta aceita está certa e não vou acrescentar, mas o que você quer dizer com "trabalhado"? Todos eles funcionam, basta fazer basicamente uma das 6 coisas diferentes (chamado Ação na tabela na resposta aceita). Lembre-se que matar é meio que confundido. Não termina necessariamente o seu processo. Ele envia um sinal que provavelmente (é por isso que você enviou, certo?) Mata o seu processo. Mas isso pode fazer outras coisas.

Um sinal só pode ser ignorado, fazer com que o programa termine com um arquivo principal, termine sem nenhum arquivo principal, pare o programa, continue o programa ou o programa pode substituir a maioria dos sinais com um manipulador de sinal.

É isso. Portanto, INT, TERM, HUP e outros não terminam nenhum núcleo. SEGV, BUS, ABRT e outros são terminados com núcleo, etc.

    
por 21.06.2015 / 01:23

Tags