O que pode fazer com que o suspiro seja gerado?
olhando para o código, a aplicação desiste quando recebe Suspiros ou SIGTERM.
Pelo que sei, o SIGHUP é gerado quando um utilizador sai. No nosso caso, o utilizador nunca sai. Pergunto-me se é possível que o suspiro tenha sido gerado por outra razão. Qualquer outro pensamento seria apreciado.2 answers
Os Sinais podem ser enviados usando {[[0]} utilitário ou matar o syscall. É claro que você pode tentar descobrir quem está enviando esse sinal ou desligando seus terminais ou conexões de rede, mas há uma maneira prática mais simples de corrigir o seu problema.
Quando o código é suposto correr como um daemon, mas realmente não é (tal como o seu), existe um invólucro que pode transformar qualquer programa em daemon. Surpresa - este invólucro chama-se daemon
! Ele tem muitas opções, provavelmente mais importante para você, opção para reiniciar automaticamente o seu utilitário se ele alguma vez morrer por qualquer razão.
Se este comando não estiver instalado no seu Ubuntu, apenas sudo apt-get install daemon
, e man daemon
para começar.
- executando o seu programa dentro {[[0]} ou
tmux
- execute o seu programa com
nohup
ou com qualquer outra estrutura de daemonização