J'ai un script R que je veux exécuter en continu sur Ubuntu 10.10. J'essaye d'installer Monit pour m'assurer qu'il ne tombe pas. Comme le script démarre, il crée un fichier pid avec les lignes:Comment utiliser Monit pour faire fonctionner un script R?
pid <- max(system("pgrep -x R", intern = TRUE))
write(pid, "/var/run/myscript.pid")
J'ai mis en place Monit avec les lignes:
check process myscript with pidfile /var/run/myscript.pid
start program = "/usr/bin/R --vanilla </home/me/myscript.R> /home/me/myscript.out 2>&1"
Monit commence bien, mais quand je tue le processus de R , le processus R n'est pas redémarré. Je fais évidemment quelque chose de mal. Est-ce dans la syntaxe pour démarrer le processus? J'ai remarqué que la documentation indique que Monit essaie d'abord d'arrêter le programme et je ne connais aucune commande pour arrêter un processus R. Peut-être que la ligne ci-dessus pour démarrer le programme fonctionne quand il est dans le crontab pour l'utilisateur root, mais pas quand il est démarré à partir de mon utilisateur crontab
Tout conseil grandement apprécié.
Etes-vous sûr que le fichier PID est en cours de création? Avez-vous exécuté monit en mode verbeux? Êtes-vous capable d'utiliser monit pour arrêter, démarrer et redémarrer le processus (en utilisant monit stop/start/restart myscript)? Le fichier PID est-il lisible par l'utilisateur Monit? Je pense que l'exécution de monit en mode verbeux sera utile. – bmatheny
Merci. Ces commentaires m'ont aidé à résoudre certains problèmes. Monit ne fonctionnait pas en raison d'une erreur ailleurs. J'ai en fait deux scripts, l'un d'eux commence par monit start myscript -v et le pidfile est créé, mais l'autre ne le fait pas et ne crée aucun fichier pid. A l'origine j'ai eu une faute de frappe dans la commande de démarrage pour celui qui ne fonctionne pas. Maintenant, je soupçonne que l'erreur est mise en cache quelque part parce qu'elle ne commencera pas même après l'avoir corrigée. – MiG62
Oui. 9 fois sur 10 quand j'ai un problème de monit, je trouve que ce n'est pas un problème de monit :) Bonnes choses, content que ce soit corrigé. – bmatheny