Efeitos do SSHing em uma máquina remota e logout

0

Uma pergunta boba: eu acabei de sair de uma sessão ssh com uma máquina remota através da linha cmd. Existe alguma coisa que matou outros trabalhos ou desligou a máquina? Tudo aconteceu devido à conectividade de rede e à suspensão da sessão ssh. Eu só tive que ctrl + z naquele ponto e afirmou que há trabalhos interrompidos.

Máquina remota: Ubuntu

Obrigado antecipadamente!

    
por startedFromTheBottom 19.12.2014 / 08:17

1 resposta

2

Bem, se os problemas de rede causarem a interrupção da conexão, isso significa que os pacotes de dados não estão passando. Isso obviamente significa que os pacotes de "conexão próxima" do cliente também não podem passar.

Assim, durante problemas de rede, o servidor não sabe que você já matou o cliente. Ele só descobrirá se ele tentar enviar mais dados e a) não receber uma confirmação ou b) receber um pacote de redefinição ("esta conexão não existe mais").

De qualquer forma, uma vez que a conexão SSH esteja quebrada, o sshd enviará um sinal de "desligamento" (SIGHUP) para qualquer programa que esteja sendo executado em primeiro plano (seu shell, seu editor de texto ou qualquer outro). O shell enviará o mesmo SIGHUP para todos os seus trabalhos em segundo plano, antes de sair. Portanto, seus trabalhos em segundo plano também serão encerrados. (Esta é a razão pela qual ferramentas como nohup existem, afinal.)

Se você matar ssh enquanto a rede estiver bem, o mesmo acontece - o servidor receberá um pacote "reset de conexão" e enviará "hangup" para o shell.

Finalmente, se você sair através do próprio shell (usando exit ou Ctrl D ), ele também passará pelo mesmo processo de limpeza em si, embora desta vez tenha a chance de lembrá-lo sobre a execução de trabalhos.

    
por 19.12.2014 / 08:30

Tags