Quero saber todas as informações sobre o SIGTTIN
sinal, por exemplo quero saber se o SIGTTIN
sinal pode ser manipulado ou não.
Essedocumentaçãodiz apenas o seguinte sobre o SIGTTIN
sinal:
SIGTTIN 21,21,26 Parar entrada do terminal para processo em segundo plano
E digitar man SIGTTIN
no terminal não retornou nada.
Editar:
O que eu quis dizer não foi quais sinais você pode enviar para um processo, mas sim se o processo que recebe o sinal pode alterar a ação padrão do sinal. Por exemplo: a ação padrão para o SIGTTIN
sinal é parar o processo, você pode alterar esta ação padrão em seu programa usando a sigaction()
função. Agora, alguns sinais não permitem alterar suas ações padrão, e é isso que estou procurando (uma documentação de quais sinais não permitem alterar suas ações padrão).
Responder1
Você pode usar este comando, que geralmente é correto.
kill -l | egrep SIGTTIN
Você também pode escrever um script PERL rápido para interceptar SIGTTIN + e executá-lo em segundo plano + gerar uma mensagem de diagnóstico simples se seu manipulador SIGTTIN for executado.
Responder2
Eu não acho que você possa alterar a ação padrão de um sinal, assim como ignorá-lo completamente ou instalar um manipulador de sinal.sigaction(2)
diz:
sa_handlerespecifica a ação a ser associada ao signum e pode ser
SIG_DFL
a ação padrão,SIG_IGN
para ignorar este sinal ou um ponteiro para uma função de manipulação de sinal. Esta função recebe o número do sinal como único argumento.
Se você quiser alterar a ação de algum sinal para uma das outras ações padrão, você pode gerar outro sinal que faça o que você deseja (obter um core dump ou interromper o processo) ou simplesmente sair (para encerrar o processo). ).
SIGKILL
e SIGSTOP
são os dois sinais que você não pode capturar ou bloquear. sigaction(2)
:
sinalespecifica o sinal e pode ser qualquer sinal válido, exceto
SIGKILL
eSIGSTOP
.
Os sinais
SIGKILL
eSIGSTOP
não podem ser capturados, bloqueados ou ignorados.
Entretanto, ignorar sinais provenientes de falhas reais (acessos inválidos à memória, instruções inválidas) pode não deixar o processo em um estado muito estável.