Como executo um script em segundo plano e o deixo em execução quando faço logout? [duplicado]

7

Eu tenho um script que roda Gaussian, uma calculadora de estrutura química, que gasta alguns dias brincando com uma molécula. Ele é executado em uma caixa do Linux que eu carrego os arquivos de entrada e disse script para, então eu (deveria) executá-lo, espere um pouco, espero que o programa não travasse, e faça logon novamente para coletar o resultado. / p>

Algum de um novato * nx, mas não consigo descobrir como configurar o script em execução e desconectar, enquanto o deixo continuar.

./jobscript

parece estar bloqueando até que seja feito, e se eu desconectar ele terminará

./jobscript &

não bloqueia, posso vê-lo em execução em top , então achei que estava tudo bem, mas ao sair, aparentemente ele acabou com o programa.

Como faço para definir a coisa para executar e ficar em execução, mesmo se eu sair?

    
por Nick T 12.05.2011 / 03:08

5 respostas

8

Você deseja usar o programa screen . Aqui está a página de manual , e aqui é um bom tutorial. Ele deve fazer exatamente o que você quer fazer - executar algo em segundo plano e poder voltar mais tarde.

    
por 12.05.2011 / 03:20
8

Você pode usar:

nohup /path/to/script >output 2>&1 &
    
por 12.05.2011 / 03:33
5

Você pode iniciar uma sessão de tela , iniciar seu trabalho e a desconexão da sessão de tela.

Mais tarde, você poderá anexar novamente à sua sessão de tela para ver se o seu trabalho foi concluído.

Veja também link

    
por 12.05.2011 / 03:15
2

nohup

nohup - run a command immune to hangups, with output to a non-tty

man nohup

    
por 12.05.2011 / 03:23
1

Com bash:

my_program &
disown -h %1

Altere o número do seu número de trabalho real (consulte jobs incorporado também)

    
por 12.05.2011 / 12:32

Tags