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


7

Duplicata Possível:
Deixar script bash em execução no terminal remoto enquanto não estiver logado?

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.

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

./jobscript

parece bloquear até que seja feito, e se eu desligar ele termina

./jobscript &

não bloqueia, eu posso vê-lo rodando top, então eu pensei que estava tudo bem, mas ao sair, aparentemente, o programa foi cancelado.

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

Respostas:


8

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


Parece screen é melhor para mim enquanto tropeço em um novo mundo; é bastante óbvio quando executo um script (bloqueio) e ele morre devido a algum erro de sintaxe ou entrada malformada conforme retorna imediatamente.
Nick T




1

Com bash:

my_program &
disown -h %1

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.