O SIGHUP é acionado por conexão telnet / SSH interrompida?

1

Eu estou tentando escrever um programa de email que pode conter dados que um usuário não desejaria perder com uma conexão SSH / telnet quebrada. SIGHUP seria enviado para o processo? Afinal, é o sinal de "desligamento" ...

    
por sadljkfhalskdjfh 10.12.2015 / 15:18

1 resposta

1

Por padrão, o processo receberá um SIGHUP . O manipulador de sinal padrão (trap) irá desligar o programa de forma relativamente elegante, mas não salvará o trabalho dos usuários.

No seu caso, eu teria o programa incluir uma rotina de trap que salva o trabalho do usuário quando um SIGHUP é recebido. Você pode capturar e manipular todos os sinais, exceto SIGKILL . Você também pode querer executar a mesma rotina para um SIGTERM de interrupção.

Existem outros mecanismos que podem ser usados para evitar a obtenção de um sinal SIGHUP , mas o tratamento do sinal é o mais simples e seguro. Se as outras abordagens falharem ou um SIGHUP for enviado com o comando kill , seu processo ainda será encerrado sem salvar o trabalho.

    
por 10.12.2015 / 15:33