Como evito que um processo nohup seja interrompido quando a conexão ssh falha?

1

Estou tendo um problema estranho. Eu tenho um processo de servidor que é iniciado com nohup e persiste através de logout e re-login muito bem. No entanto, se eu me deixar logado e, em seguida, receber a mensagem "cano quebrado" porque meu laptop foi dormir eu volto para descobrir que o processo parou em aproximadamente o tempo meu laptop foi dormir (difícil verificar exatamente quando isso era embora) . Isso acontece mesmo se eu tiver desconectado e conectado novamente desde o início do processo.

Por que isso acontece? Eu tinha pensado que nohup significava que ignoraria o SIGHUP? Algum outro sinal está sendo enviado? Estou ciente da tela, mas existe uma maneira de evitar isso sem recorrer a executar coisas na tela (que foi a solução anterior que acabamos de mudar)?

O comando no script que inicia o processo se parece com isso ...

nohup attivio -cmd start -nodump -project="$ATTIVIO_PROJECT" -node $NODENAME $ATTIVIO_ARGS foo.xml 2>&1 > $LOG_DIR/attivio.console.log &

O script foi chamado assim:

source bin/start.sh 
    
por Gus 23.03.2013 / 04:11

1 resposta

3

O sinal HUP não é a única coisa que pode interromper ou interromper um processo quando um terminal é desconectado. Não haverá controle de tty, então algum programa pode falhar por esse motivo. Tentativas de saída podem causar um erro. Se o programa tiver uma leitura ativa, poderá receber um erro também.

Estes são motivos pelos quais eu uso a tela. Não vejo razão para evitar a tela.

    
por 23.03.2013 / 05:41