Nohup e a diferença entre logout e exit em um shell remoto

5

Eu tenho acesso a um shell Linux remoto para fins de trabalho. Eu mantive um script python sendo executado em segundo plano usando nohup .

Agora, se eu quiser sair da sessão, qual é a diferença entre usar os comandos logout e exit ? Meu script continuará sendo executado em ambos os casos?

    
por slhck 25.07.2011 / 13:57

2 respostas

2

logout é um comando interno do shell. Então, geralmente a resposta é dependente do shell. De man bash :

logout – Exit a login shell.

De man zsh :

logout [ n ] – Same as exit, except that it only works in a login shell.

Então, são completamente iguais, mas o logout simplesmente se recusará a funcionar para shells que não sejam de login. O que é um shell de login pode ser lido em páginas de manual.

    
por 25.07.2011 / 16:14
0

Tente ambos no seu terminal local. Se você quiser usar "logout", você precisa ser "login". No seu terminal, por padrão, você nunca inicia o shell com o login, então se você quiser fechar o terminal, você precisa usar "exit". Não é um "shell de login".

No shell ssh remoto é indiferente porque você está usando um "shell de login". Quando você usa nohub ou similar, você está "desconectando" o comando do shell, então quando você fecha o seu shell o processo não morre.

    
por 25.07.2011 / 21:04