Existe diferença entre nohup e nohup em uma tela?

1

No momento, estou executando o mathematica em um cluster Linux, quero que o trabalho seja executado de forma estável mesmo se eu fizer logout. Então eu uso nohup . No entanto, eu encontrei às vezes nohup termina sem qualquer sinal (não consigo ver nenhuma mensagem de erro no arquivo de saída, ele só parou no meio de um cálculo.)

Talvez por causa do Mathematica. Mas acho que talvez devesse tentar screen . Então eu fiz essa pergunta. Qual é a diferença entre nohup e nohup em uma tela? O nohup dentro de uma tela é mais estável que meramente nohup ?

    
por user15964 30.04.2016 / 08:04

1 resposta

2

Não fará uma diferença real, no sentido de que, se você executar screen (ou tmux ) e se desconectar, haverá um sinal NOHUP enviado para o seu aplicativo, quer você inicie com nohup ou não.

Sugiro que você experimente usando screen / tmux e inicie o programa sem nohup . Em seguida, desconecte-se, faça o login e novamente e reconecte-se à sessão anterior. Você verá que sua sessão simplesmente continua funcionando e que você pode ver sua saída (a rolagem no buffer requer alguns comandos especiais) e que você pode (provavelmente) interromper o programa em execução pressionando Ctrl + C , essencialmente como se você nunca tivesse desconectado.

Então, onde seu programa original termina de alguma forma inesperadamente e esperançosamente grava em nohup.out qual é a causa, agora que a saída vai para o buffer de sessão screen . Mas se não produzir nada ao usar nohup , você não obterá mais informações quando estiver executando dentro de screen . Não é nohup que termina, é o seu programa que funciona, apesar de executar "sob" nohup .

    
por 30.04.2016 / 08:55