PuTTY (ou qualquer outro cliente SSH) não se importa se você está olhando para a tela ou para fora para almoçar. Não fechará uma sessão por conta própria.
Uma sessão será encerrada apenas se:
- Você fechá-lo manualmente (por exemplo, digite
logout
, Ctrl + D ,exit
, etc etc) - Há um gatilho de logout automático ou inativo definido no seu shell.
- A conexão de rede é interrompida.
Até agora, para puTTY e sessões. Quanto a nohup
, vamos nos aprofundar um pouco mais.
Nos primeiros dias, as pessoas usavam linhas telefônicas e modems para discar. Às vezes, essa conexão morria. Nesse caso, o shell recebe um sinal de que a linha detectou um desligamento. (sinal 1, HUP).
Quando isso acontece, o shell sinaliza os programas em execução com SIGHUP, o que basicamente significa que a linha telefônica caiu. Por favor desligue nitidamente. (feche arquivos, salve se necessário etc etc).
Quando você sai ou quando puTTY (ssh) morre, o mesmo acontece.
Se você executar um programa com nohup
, duas coisas acontecerão:
- O SIGHUP é ignorado. Então o programa não desliga.
- A saída padrão é gravada em um arquivo (padrão:
nohup.out
) em vez de no TTY.
If I use
nohup scriptname
will it be fine?
Se você usar nohup scriptname
e o script não precisar de nenhuma entrada, então sim, tudo ficará bem. Se você quiser ver a saída do script enquanto ele está rodando, você pode seguir o arquivo de log.
nohup scriptname &
e tail -f nohup.out
Além de nohup
, há pelo menos duas outras opções interessantes:
Ambos permitem não apenas sobreviver a uma linha desconectada, mas também reconectar um terminal posteriormente.
Exemplo:
Sentado atrás de um computador 1, conectado ao servidor 1
screen
Starts screenmake bzimage
Whatever task/script you want
Ctrl+A, Ctrl+DDetach;
screen
seems to have endedlogout
Logout
Neste ponto, screen
ainda está em execução e fornecendo um shell para seu script.
Digamos que você vá para casa, sente-se atrás de sua própria área de trabalho e ssh para o servidor-1,
ssh server-1.work.tld
username
passwordscreen -r
(Continue a previously added screen)︙
Continue where you left off at work.