Verifique se você está no 14.04. O Ubuntu 16.04 (e acima) usa o systemd, não o Upstart.
Um script Upstart é um arquivo de script colocado em /etc/init/
e terminando em .conf
.
Requer 2 seções: uma para indicar quando começar e outra com o comando para executar.
O script mais fácil de começar com sua amostra é:
# myprogram.conf
start on filesystem
exec /usr/bin/java -jar /path_to/program
Criado como raiz em /etc/init/myprogram.conf
.
Se o seu script exigir mais de uma linha de comando, use a seção script
em vez da exec
line:
# myprogram.conf
start on filesystem
script
/usr/bin/java -jar /path_to/program
echo "Another command"
end script
Para ativar a conclusão do bash para o seu serviço, adicione um link simbólico na pasta /etc/init.d
:
sudo ln -s /etc/init/myprogram.conf /etc/init.d/myprogram
Em seguida, tente iniciar e interromper:
sudo service myprogram start
De acordo com o livro de receitas inicial , você pode criar pre-start
/ post-start
e pre-stop
/ post-stop
comandos a serem executados.
Além disso, eu li que você quer verificar se um processo está sendo executado. Verifique esta questão e talvez use a seção pre-start
.