Respostas:
Encontrei esta resposta no serverfault de earl :
No entanto, para o seu problema real, há outra coisa que você pode tentar: depois de iniciar o seu trabalho a partir do terminal, coloque-o em segundo plano digitando ctrl- ze depois
bg
.
Depois disso, retire o trabalho dele é shell pai - embash
:disown -h %<jobid>
. Depois disso, você pode fechar o terminal com segurança e o trabalho continuará sendo executado.
E este da mesma pergunta de Rob Wells :
$ screen -S my_process
$ retty $(pgrep my_process)
/redraw
Encontrou uma duplicata no ServerFault .
Outra solução não encontrada nessa postagem está usando retty após iniciar uma sessão de tela.
Dê uma olhada no reptyr , que faz exatamente isso. A página do github tem todas as informações.
reptyr - Uma ferramenta para "re-escrever"
programas.
reptyr é um utilitário para pegar um programa em execução existente e anexá-lo a um novo terminal. Iniciou um processo de execução demorada pelo ssh, mas precisa sair e não quer interrompê-lo? Basta iniciar uma tela, use reptyr para pegá-la e, em seguida, mate a sessão ssh e vá para casa.
USO
reptyr PID
"reptyr PID" pega o processo com o ID PID e o anexa ao seu terminal atual.
Após a conexão, o processo recebe e grava a saída no novo terminal, incluindo ^ C e ^ Z. (Infelizmente, se você tiver experiência em segundo plano, ainda precisará executar "bg" ou "fg" no terminal antigo. É provável que seja impossível corrigir isso de uma maneira razoável sem corrigir o shell.)