Para o Ubuntu, acho que o Upstart é o que você está procurando.
link Esta pergunta do AskUbuntu tem excelentes informações sobre como começar o que você está fazendo.
Em poucas palavras, copie o seguinte para /etc/init/mybinary.conf.
description "My Binary"
author "Jakub Arnold <[email protected]>"
start on (local-filesystems and net-device-up)
stop on runlevel [!2345]
respawn
pre-start script
RUN_MODE="daemons"
end script
exec mybinary
Isso deve ajudá-lo com o seguinte:
- Gerenciamento de serviços com 'service mybinary start / stop / status'
- Gerenciamento de arquivos PID
- respawn no acidente
- executado na inicialização
- fazendo login em /var/log/upstart/mybinary.log
O livro de receitas do Upstart como toda a informação que você precisa: link
Como um aparte, eu sinto que devo mencionar que o Ubuntu está planejando aposentar o Upstart em favor do Systemd, mas não há um roteiro planejado.