Isso funciona na maioria das vezes:
(pré-requisitos: ter reptyr e tmux / screen instalado; você poderá encontrá-los com o apt-get ou yum, dependendo da sua plataforma)
-
Use Ctrl-Z para suspender o processo.
-
Retomar o processo em segundo plano com
bg
-
Encontre o ID do processo em segundo plano com
jobs -l
Você verá algo parecido com isto:
[1]+ 11475 Stopped (signal) yourprocessname
-
Desaprove o trabalho do pai atual (shell) com
disown yourprocessname
-
Inicie
tmux
(preferencial) ouscreen
. -
Recoloque o processo na sessão do tmux / screen com o reptyr:
reptyr 11475
-
Agora você pode desanexar o multiplexador (padrão
Ctrl-B D
para o tmux ouCtrl-A D
para a tela) e desconectar o SSH enquanto o processo continua no tmux / screen. -
Mais tarde, quando você se conectar novamente com o SSH, poderá anexar ao seu multiplexador (por exemplo,
tmux attach
).