Por que o processo / tarefa acionado na VM é interrompido quando a conexão SSH usada para criar o processo foi interrompida?

1

Eu tenho uma VM em execução em algum host remoto. Eu me conecto a ele do meu PC de mesa através do SSH através do putty. Eu disparo em um processo de compilação nessa VM.

Agora, se eu fechar a sessão SSH, por que o processo de criação é interrompido e a imagem não é criada?

No entanto, se eu desmembrar uma instância do servidor VNC na VM e me conectar a ela por meio do visualizador VNC do meu PC de mesa. Agora eu poderia acessar o ambiente da GUI da VM. Agora eu lanço um terminal. E comece um processo de construção.

Agora, mesmo se eu fechar o cliente VNC ou desligar meu PC de mesa, ainda assim o processo de criação estará acontecendo.

Como eles são diferentes em cada cenário?

    
por Darshan L 27.03.2018 / 15:17

1 resposta

2

Por que o processo é morto? Quando você se conecta, seu bash padrão é iniciado. Agora, quando você inicia um processo, eles são sub processo de bash. Se a conexão for fechada, o bash e todos os subprocessos estão sendo finalizados.

Solução: use screen . Execute screen e inicie seu processo de criação. Se você tiver uma desconexão, tudo que for executado após a tela continuará. Se você reconectar por ssh agora e executar screen -RD , retornará à sua sessão e verá o processo.

O VNC apenas retransmite a tela e o controle do mouse / teclado para o seu sistema. Todos os processos funcionam como se estivessem na frente do sistema.

    
por 27.03.2018 / 15:29