Usando fg com tela

2

Eu tenho um trabalho em execução em um terminal ssh em um servidor externo. Eu posso pausar com CTRL + Z e continuar com fg . Mas gostaria de pausar, executar a tela screen -S my_job e recuperá-la com fg . Não funciona. Existe uma maneira de fazer algo assim?

O motivo é que meu trabalho está em muito tempo (1 mês) e será executado por mais dois meses. Se meu computador de mesa morrer por causa de um blecaute, meu trabalho será cancelado.

    
por Bjoernsen 10.11.2011 / 09:48

1 resposta

2

A questão aqui é o terminal de controle do trabalho. Não tenho conhecimento de nenhum método para alterar o terminal de controle, o que você precisaria fazer se quisesse mover seu programa para uma tela.

No entanto, se sua tarefa não tiver entrada ou saída importante em sua entrada / saída / erro padrão, você poderá considerar o shell integrado em disown , que remove uma tarefa em segundo plano da tabela de tarefas ativas. Isto implica que o shell não enviará ao trabalho um SIGHUP quando ele morrer (por exemplo, devido à falha de conexão do seu host ssh'ing). Exemplo:

$ long-running-job
^Z
$ bg
(shell displays backgrounding notification)
$ disown

E seu trabalho deve continuar. No entanto, a E / S será fechada, então não há ajuda se você tiver alguma atividade stdin / stdout / stderr.

    
por 10.11.2011 / 10:00