Unix Monit无法启动进程

Unix Monit无法启动进程,unix,debian,rvm,monit,Unix,Debian,Rvm,Monit,我有一个简单的脚本,我正试图让Monit监视它。在我找到这个小金块之后: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 同样,以前的尝试似乎只阅读

我有一个简单的脚本,我正试图让Monit监视它。在我找到这个小金块之后:
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

如果你知道会发生什么事,我很想听听你的意见

我想你可以试试这样:

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

如。

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

Hi Brice,经过大量的修改后,我发现以下操作可以完成:启动程序=“/bin/bash-c'export rvm_path=/home/user/.rvm$rvm_路径/脚本/rvm;cd/home/user/critr.me$rvm_路径/bin/rvm rvmrc负载/简单的_脚本_daemon.rb start'”感谢您的帮助!