Como abrir o processo novamente? [duplicado]

0

De meu pc em casa usando putty, eu ssh'ed em um servidor remoto, e eu corri um programa python que leva horas para ser concluído, e como ele é executado imprime coisas. Agora depois de um tempo, minha internet desconectou, e tive que fechar e reabrir o putty eo ssh de volta. Se eu digitar 'top', eu posso ver o programa python sendo executado em segundo plano com seu número PID. Existe um comando que eu possa usar para basicamente reabrir o processo e vê-lo imprimindo novamente?

Obrigado

    
por omega 06.03.2015 / 03:12

2 respostas

2

Você pode usar o comando screen e iniciar um trabalho, como compilar o kernel, como:

screen -R -S YOUR_SESSION_NAME

Em seguida, pressione entern para retornar à sessão

para sair da sessão: CTRL + a + d

Para listar suas sessões:

mohsen@debian:~$ screen -ls
There is a screen on:
    30473.compilekernel (03/06/2015 05:59:05 AM)    (Detached)
1 Socket in /var/run/screen/S-mohsen.

Para ser levado à sua sessão:

screen -dr 30473

Quando você não usa a tela de nome da sessão, ela usa o seguinte formato e é muito difícil várias sessões para o seu servidor:

pid.tty.host

como:

30522.pts-0.debian
    
por 06.03.2015 / 03:31
2

tela do gnu link é um aplicativo executado em um terminal, criando uma espécie de sessão virtual. Quando você se desconecta, a tela continua a ser executada como uma entidade desanexada, à qual você pode se reconectar posteriormente.

Primeiro, instale a tela se ela ainda não estiver instalada (provavelmente é).

Em seguida, faça login no seu servidor.

Iniciar uma sessão de tela:

$ screen

Agora você está na tela. Comece o seu processo. Eu suponho que seja chamado foo.py. Você pode iniciá-lo normalmente ou talvez prefira iniciá-lo e enviá-lo para o plano de fundo:

$ foo.py &

Se você preferir NÃO enviá-lo para o plano de fundo (ou seja, deseja vê-lo funcionando no seu terminal), inicie-o normalmente - mas, em seguida, desejará alternar para uma nova tela:

$ foo.py

Se o script começar a ser executado, pressione ctrl-ctrl-c (ou seja, Criar nova tela).

Isso cria uma nova tela vazia. Seu script ainda está em execução, mas está sendo executado na outra tela. Prove para si mesmo digitando ctrl-a ctrl-n (isto é, vá para a próxima tela).

Quando você estiver pronto para efetuar o logout, digite:

$ screen -d

Isso desconecta você da tela virtual. Em outras palavras, tudo ainda está em execução, assim como você o deixou.

Você pode até fechar o puTTY. Seu servidor ainda está executando a tela e o que você lançou dentro dela.

Quando você quiser se reconectar, faça o login novamente e anexe novamente à tela:

$ screen -raAd

Agora você está de volta à tela. Você pode ver a saída do seu comando foo.py ou pode precisar alternar para ele com ctrl-a ctrl-n.

De qualquer maneira, é assim que é feito.

    
por 06.03.2015 / 03:31