SIGQUIT é o mesmo que SIGTERM?


13

Estou aprendendo o CentOS / RHEL e atualmente fazendo algumas coisas sobre gerenciamento de processos.

O livro RHCSA que estou lendo descreve a execução kill 1234como o envio de SIGQUIT. Eu sempre pensei que o comando kill sem adicionar um comutador para o tipo de sinal deveria usar como padrãokill -15

SIGTERM é kill -15e SIGKILL é kill -9, certo?

O CentOS / RHEL usa um método ligeiramente diferente kill -15ou acabei de me enganar?

EDIT: kill -lfornece SIGQUIT como kill -3e parece estar associado ao uso do teclado para finalizar um processo. man 7 signaltambém afirma que SIGQUIT é kill -3, portanto, posso apenas assumir que meu livro está errado ao afirmar que SIGQUIT é o kill -15padrão.

Respostas:


13

Não, eles não são os mesmos. A ação padrão para ambos é finalizar o processo, mas SIGQUITtambém despeja o núcleo. Veja, por exemplo, a página de manualsignal(7) do Linux . killPor padrão, envia o SIGTERM, portanto, posso apenas imaginar que a menção de SIGQUIT como padrão é de fato apenas um erro. Esse padrão está no POSIX , assim como os números para SIGTERM, SIGKILL e SIGQUIT.


1
Sim. Acho que o livro está errado, porque também lista SIGQUIT como -15. O sinal -15 é uma maneira tão estabelecida de terminar um processo no mundo Linux que não há dúvida de que é um erro de impressão. Marcarei sua resposta como correta. Obrigado por expandir o que o SIGQUIT faz.
Bitofagoob 14/05

1

Existem dois comandos kill, um no procps e outro no shell. Ambos usam o SIGTERM como padrão. Para procps kill, o comando help, manual page e kill source (skill.c linha 724 na última ramificação mestre) dizem SIGTERM, o que é bom saber que é consistente.

Uma coisa a lembrar sobre os sinais é que, quando você começa a ultrapassar o "grupo usual" e usa os sistemas um pouco mais diferentes do sistema Linux x86, pode achar que os sinais não estão lá ou que têm números diferentes. procps (e provavelmente muitos outros programas) compõe os números em tempo de compilação (essencialmente qualquer que seja o arquivo de inclusão, procure signum.h).

Não é algo para se preocupar com o SIGTERM, como @ilkkachu diz, está no POSIX.


Manpage para skill diz que skill e snice são obsoletas. Gostaria de saber por que eles não foram removidos do espaço do usuário? Informações interessantes, de qualquer maneira. Obrigado.
bitofagoob
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.