
Eu tenho um aplicativo que preciso iniciar automaticamente quando o sistema operacional for iniciado. Estou executando um CentOS 6, então estou usando um script de inicialização LSB colocado em /etc/init.d
. Até agora está tudo bem e funcionando.
Agora... além disso, o que eu gostaria é que se meu aplicativo travar (sair com erro), eu queira que ele seja iniciado novamente automaticamente. O ideal é definir até um número máximo de tentativas. No Info.plist do Mac estão as chaves. KeepAlive
Como já estou chkconfig
trabalhando, gostaria de saber se há algo que eu possa fazer com isso.
eu sei que existehttp://mmonit.com/monit/mas pode ser demais para o que preciso.
Responder1
Dado que você controla o script init.d para iniciar este processo, você pode querer apenas agrupar a execução do seu processo no script init.d da seguinte forma:
until myserver; do
echo "Server 'myserver' crashed with exit code $?. Respawning.." >&2
sleep 1
done
Isso iniciará seu processo em um loop até basicamente para sempre, cada vez que ele morrer. A contagem etc. poderia ser introduzida assim:
cnt=0
max=3
until myserver; do
let cnt=cnt+1
echo "Server 'myserver' crashed with exit code $?. Respawning.." >&2
sleep 1
[ $cnt = $max ] && exit;
done