J'ai deux exigences pour mon application Java. Si elle meurt, redémarrez-la. Si le serveur redémarre, redémarrez-le - assez simple. Utilisation de la réponse here J'ai un script qui va redémarrer lorsque l'application Java meurt.Démarrer le processus java au démarrage et redémarrer automatiquement à la mort
#!/bin/bash until java -Xms256m -Xmx768m -jar MyApp.jar; do echo "MyApp crashed with exit code $?. Respawning... " >&2 sleep 5 done
je peux courir avec « nohup restart_script.sh & » et il fonctionnera toute la journée sans problème. Maintenant pour l'exigence de démarrage. J'ai pris le script /etc/init.d/crond et remplacé le binaire crond avec mon script mais il se bloque au démarrage. Lorsque j'exécute/sbin/service myapp start, le script démarre mais bloque la console lorsque j'exécute/sbin/service monapplication. J'ai essayé "daemon --user appuser nohup $ MYAPP &" et je suis immédiatement retourné à l'invite sans aucune indication [OK] et quand je fais un ps, je vois toujours que l'init est bloqué. Des idées comment appeler un script dans le script init et le faire revenir correctement?
Merci,
Greg
Cela peut être plus approprié pour http://superuser.com. – danben