Executando o trabalho do shell no servidor remoto, fechando o terminal sem fechar o trabalho

1

Estou executando trabalhos em um servidor remoto usando torque. Eu atualmente tenho um problema chato.

Quando executo meus trabalhos, isso é o que eu faço atualmente:

  1. Faça login em outro computador via Teamviewer
  2. Do computador ssh no servidor remoto, como ssh [email protected]
  3. Aqui eu executo meu script de trabalho sh verycomplicatedrunscript.sh , que ecoa para o usuário algo como:

    I am now running job 1...

    I am now running job 2...

    I am now running job 3...

    I am now running job 4...

apenas para mostrar que está sendo executado e o que está sendo executado.

O único problema é que isso leva vários dias, pois os trabalhos são um pouco grandes e existem milhares deles.

Agora, gostaria de ignorar a etapa Teamviewer e apenas ssh no controle remoto do meu próprio computador. Mas se eu fizer isso, e executar o script de meus trabalhos, feche o terminal; mata o processo (por isso, atualmente estou executando-o no outro computador, o qual posso deixar funcionando por dias, deixando o terminal aberto).

Existe alguma maneira de executar o script no servidor remoto e, em seguida, efetuar o logout sem que ele mate o script de execução do meu trabalho?

Obrigado

SOLUÇÃO

Acabei usando a opção screen , que é francamente incrível.

Meus trabalhos agora estão sendo executados com

screen sh awesomejobscript.sh option1 option2 option3

    
por Astrid 15.01.2016 / 10:56

2 respostas

3

Apenas use nohup:

$ ssh [email protected] "nohup complexscript.sh > mylog 2>&1 &" 
    
por 15.01.2016 / 11:23
1

Existem muitas soluções, além da acima;

screen sh jobscript.sh op1 op2 op3

funciona muito bem também.

    
por 15.01.2016 / 13:42