Várias opções aqui. Basta pular para o último parágrafo, se você quiser uma recomendação, em vez de ler sobre os outros também!
É fácil reinicializar na reinicialização: adicione-o a /etc/rc.local
, que distribuições baseadas no Debian (e muitas outras) executam depois de tudo nos outros scripts de inicialização por padrão. Se god
não cair no fundo em si, talvez seja necessário at & para o ned do comando da seguinte forma:
god -c config &
O acima não irá reiniciar o processo quando estiver morto. Você pode escrever um script nos loops infinitos, mas isso é confuso e causará problemas quando você realmente quiser que ele seja morto.
Você também pode criar seu próprio script de inicialização, modelado em /etc/init.d
(e vinculado a /etc/rc.*
', o que lhe dará uma solução mais completa, pois você terá a facilidade de interromper / iniciar o serviço quando precisar , embora isso não inicie automaticamente o serviço para você sem algum script extra de sua parte.
Você pode adicioná-lo ao seu /etc/inittab
e, em seguida, init
gerenciará o processo para você, iniciando-o na inicialização e reiniciando-o se ele morrer. Parará mesmo de reiniciá-lo se morre frequentemente num curto espaço de tempo. Isso ainda não é perfeito.
Acho que a abordagem geralmente recomendada para o que você descreveu é daemontools
( link ) que também suporta o reinício do serviço se ele morrer. Este é um pouco mais de trabalho aqui do que usar uma entrada em /etc/initab
, mas você vai acabar com um produto final muito mais limpo que deve fazer tudo o que você pediu em sua pergunta. daemontools
deve ser encontrado nos repositórios de praticamente qualquer distribuição Linux.