Existem alguns sinais de que você não pode sobrescrever seu manipulador de sinal padrão? [duplicado]

0

É assim que acho que os sinais do Linux funcionam:

Cada processo tem um manipulador de sinal padrão para cada sinal, o manipulador de sinal padrão de alguns sinais encerra o processo, enquanto o manipulador de sinal padrão de outros sinais simplesmente ignora o sinal, etc.

A tabela a seguir mostra todas as ações que um manipulador de sinal padrão pode executar (esta tabela é desta documentação ):

Term Default action is to terminate the process.

Ign Default action is to ignore the signal.

Core Default action is to terminate the process and dump core (see core(5)).

Stop Default action is to stop the process.

Cont Default action is to continue the process if it is currently stopped.

Você pode substituir o manipulador de sinal padrão com seu próprio manipulador de sinal usando signal () (que eu acho que está obsoleto) ou sigaction () .

Estou correto até agora?

Agora, minha pergunta é: Existem alguns sinais de que você não pode substituir o manipulador de sinal padrão?

    
por user262027 22.11.2017 / 10:05

1 resposta

1

As duas páginas do manual que você vinculou mencionam os sinais cujos manipuladores não podem ser substituídos. Em signal(2) :

The signals SIGKILL and SIGSTOP cannot be caught or ignored.

Em sigaction(2) :

signum specifies the signal and can be any valid signal except SIGKILL and SIGSTOP.

    
por 22.11.2017 / 10:10