开发者

How do I use Monit to keep an R script running?

I have an R script that I want to have running continuously on Ubuntu 10.10. I'm trying to setup Monit to ensure that it doesn't go down. As the script starts, it creates a pid file with the lines:

pid <- max(system("pgrep -x R", intern = TRUE))
write(pid, "/var/run/myscript.pid")

Then I've set up Monit with the lines:

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 starts fine, but when I kill the R process, the R process is not started up again. I'm obviously doing something wrong. Is it in the syntax for starting the process? I noticed that the documentation says Monit first tries to stop the programme and I don't know any commands for stopping an R process.

Perhaps of relevance is that the above line for starting开发者_如何转开发 the program works when it is in the crontab for the root user, but not when started from my user crontab.

Any guidance greatly appreciated.


I can't comment about Monit, but there is a good article by Andrew Robinson in R News about using linux/unix tools to monitor R . In particular, screen and mail might be useful for your application.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜