Como executar um script nohup com o upstart?

4

Estou portando alguns scripts de serviço no estilo SysV para o HBase (um serviço java) para o upstart.

Os scripts sysv não chamam java diretamente, mas chamam hbase-daemon.sh . Esta é uma ferramenta start-stop-daemon -like que vem com o pacote que gera muita configuração e, finalmente, termina em nohup java ... & para realmente executar o processo como um daemon.

Como a lógica de configuração em hbase-daemon.sh está envolvida, prefiro não modificá-lo ou reescrevê-lo (para remover o nohup ) e, em vez disso, iniciá-lo na chamada diretamente.

Isso parece como a cláusula expect , exceto em meu caso não está funcionando. Mesmo com expect daemon (o caso dos dois garfos), eu acabo controlando o pid errado no início do serviço. Isso sugere que meu cenário é muito caro, ou talvez nohup não deva ser tratado com expect ou ainda outra coisa.

Como posso usar o upstart para gerenciar um serviço que espera ser iniciado com um script que chama nohup ?

    
por phs 27.12.2013 / 21:23

1 resposta

-1

Você poderia tentar usar o crontab e inserir isso no terminal:

 crontab -f nohup

e, em seguida, insira isto:

 pyton(version) -v -f echo 'nohup' & disown

e, em seguida, insira isso no terminal:

 crontab reboot

e pode funcionar bem assim.

    
por Michael 14.08.2015 / 12:41

Tags