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.