Monit未能启动流程

时间:2011-10-30 10:17:31

标签: unix debian rvm monit

我有一个简单的脚本,我试图让Monit监控。在some digging around之后我发现了这个小块:start program = "su - myuser -c '/home/user/myscript.rb start' "我相信应该可以工作,但是看一下它说的日志文件:

[PDT Oct 30 02:47:17] info     : 'simple_script' start: su
[PDT Oct 30 02:47:17] error    : Error: Could not execute su

同样,早期的尝试似乎只是读取空格前面的部分,所以:

start program = "/home/user/.rvm/rubies/ruby-1.9.2-p290/bin/ruby /home/user/simple_script_daemon.rb stop"

导致......

[PDT Oct 30 03:09:49] info     : 'simple_script' start: /home/user/.rvm/rubies/ruby-1.9.2-p290/bin/ruby

这不像第一个例子那样失败,但似乎只是执行空格之前的部分。

这是我的完整陈述:

check process simple_script
    with pidfile /home/user/simple_script.rb.pid
    start program = "su - user -c '/home/user/simple_script_daemon.rb start' "
    stop program = "su - user -c '/home/user/simple_script_daemon.rb stop' "
    group simple_script

如果您对可能发生的事情有所了解,我很乐意听取您的意见!

2 个答案:

答案 0 :(得分:7)

我猜你可以试试像:

check process simple_script
    with pidfile /home/user/simple_script.rb.pid
    start program = "/home/user/simple_script_daemon.rb start" as uid user and gid user
    stop program = "/home/user/simple_script_daemon.rb stop" as uid user and gid user
    group simple_script

monit doc中所述。

答案 1 :(得分:4)

您可能需要提供su的完整路径,即/bin/su