Tente usar nohup:
$ nohup ./example.sh &
Isso executará seu processo em segundo plano e não será encerrado quando você sair do seu shell (logout). Ele gravará a saída em um arquivo chamado nohup.out.
Eu tenho uma Intel NUC executando 3.13.11.6; e eu escrevi um aplicativo que executa alguns simples polling de dados (cpu, uso de memória, uso de disco etc ...). O NUC é sem cabeça, então eu conecto via SSH (putty) e posso executar o programa.
Meu problema é que preciso que o programa seja executado por dias; e se eu fechar a sessão putty, o processo é morto.
Eu não tenho o cron no sistema, ou alguma forma de executar o aplicativo remotamente (que eu conheço).
*** edit - algumas recomendações para usar o screen e o tmux foram ótimas, mas eu estou aprendendo que esta é uma implementação customizada do Ubuntu e estas não estão disponíveis.
Alguém tem alguma sugestão sobre a melhor maneira de executar um aplicativo em um sistema Ubuntu sem cabeça e não ter o processo morto quando a sessão ssh se desconecta?
Aprecie qualquer ajuda!
Obrigado,
Dan.
Tente usar nohup:
$ nohup ./example.sh &
Isso executará seu processo em segundo plano e não será encerrado quando você sair do seu shell (logout). Ele gravará a saída em um arquivo chamado nohup.out.
screen ./example.sh
iniciará seu processo dentro de um shell próprio. Você pode desanexar deste shell segurando CTRL e pressionando A + D .
Agora você pode fechar sua conexão SSH e o processo continuará sendo executado. Você também pode se reconectar via SSH e executar
screen -r
para voltar ao seu processo