2

我有一个希望在 Ubuntu 10.10 上连续运行的 R 脚本。我正在尝试设置 Monit 以确保它不会出现故障。当脚本启动时,它会创建一个 pid 文件,其中包含以下行:

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

然后我用以下几行设置了Monit:

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 启动正常,但是当我终止 R 进程时,R 进程没有再次启动。我显然做错了什么。它在启动进程的语法中吗?我注意到文档说 Monit 首先尝试停止程序,但我不知道任何用于停止 R 进程的命令。

可能相关的是,启动程序的上述行在 root 用户的 crontab 中时有效,但从我的用户 crontab 启动时无效。

非常感谢任何指导。

4

1 回答 1

0

我无法评论 Monit,但 Andrew Robinson 在 R News 中有一篇关于使用 linux/unix 工具监控 R 的好文章。特别是,screen并且mail可能对您的应用程序有用。

于 2011-06-28T10:18:52.437 回答