Evita que um processo em segundo plano já em execução seja interrompido após o fechamento do cliente SSH

3

Eu tenho um processo em execução na minha máquina Linux (Debian squeeze) que leva horas (ou dias) para terminar.

Eu não quero pará-lo para reiniciá-lo novamente com screen , tmux ou com um redirecionamento de saída para nohup .

Existe uma maneira segura de colocá-lo em segundo plano com ^Z e bg , então ele continuará assim que eu fechar a sessão ssh?

    
por rubo77 08.10.2012 / 15:22

1 resposta

7

use

commandtoexecute &> /dev/null &

ele executará seu processo em segundo plano e imprimirá todas as saídas em / dev / null.

Substitua /dev/null por outro arquivo para ver a saída.

por exemplo. commandtoexecute &> /tmp/file1 &

use tail -f /tmp/file1 para anexar a saída novamente

Você também pode redirecionar stdin, veja este link

Se você deseja remover de um processo que já está em execução. Usar %código% onde pid é o seu id de processo.

Você também pode alterar o terminal para outro terminal:

  1. inicie uma tela
  2. receba pid do seu processo
  3. executar disown <pid>
  4. desanexar usando CTRL + A + D

reptyr: link

    
por 08.10.2012 / 15:41