
Tengo una aplicación que necesito iniciar automáticamente cuando se inicia el sistema operativo. Estoy ejecutando CentOS 6, por lo que estoy usando un script de inicio LSB colocado en /etc/init.d
. Hasta ahora esto está bien y funcionando.
Ahora...además de eso, lo que me gustaría es que si mi aplicación falla (sale con error), quiero que se inicie automáticamente nuevamente. Lo ideal sería incluso definir un número máximo de intentos. En Info.plist de Mac están las claves. KeepAlive
Como ya tengo chkconfig
funcionando, me preguntaba si hay algo que pueda hacer con ellas.
se que hayhttp://mmonit.com/monit/pero puede que sea demasiado para lo que necesito.
Respuesta1
Dado que usted controla el script init.d para iniciar este proceso, es posible que desee limitar la ejecución de su proceso en el script init.d de esta manera:
until myserver; do
echo "Server 'myserver' crashed with exit code $?. Respawning.." >&2
sleep 1
done
Esto iniciará su proceso en un bucle hasta básicamente para siempre, cada vez que muere. El conteo, etc. podría introducirse así:
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