Como posso manter processos em execução em um servidor remoto, mesmo depois de desligar o terminal?

2

.. e ainda poderá retornar à mesma sessão / tela após reiniciar o terminal machine. Eu tentei tela, mas uma vez eu reiniciei a tela do meu computador -d não mostrou sessões. Nohup parece ser o que eu quero, mas depois perco a capacidade de ver a saída mais tarde, exceto salvar em um arquivo. Não posso fingir mais?

    
por simpatico 19.03.2011 / 17:59

2 respostas

5

A tela deve funcionar bem. Dê mais detalhes sobre o que você está fazendo. Comandos comuns:

# reattach session and if necessary detach it first.
# If there is only one session, sessionname is not necessary.
$ screen -rd sessionname

# list available screen sessions
$ screen -ls

Não sei por que você está usando

$ screen -d

Tudo isso é desanexar uma sessão de tela, desde que haja apenas uma. Caso contrário, perguntará qual você deseja separar.

Eu também acho

$ echo $TERM

útil para mostrar se estou realmente dentro de uma tela ou não, já que isso nem sempre é óbvio. Se em uma tela, ele retornará screen . Se existem maneiras melhores de fazer isso, eu gostaria de saber sobre elas.

    
por 19.03.2011 / 18:02
2

Acho que você estava no caminho certo, screen é o que você quer e não nohup . Como você disse com nohup , não é possível alterar as configurações para recuperar seu ambiente após efetuar logout do servidor remoto. screen suporta isso. Olhe neste tutorial . Basicamente, o que você precisa é:

ssh machine
screen
Ctrl - a c

yourcommand

Ctrl - a d

exit
ssh machine
screen -ls
10176.blahblah  (blah)  (Detached)
screen -r 10176
    
por 19.03.2011 / 18:13