2011-10-30 50 views
5

我有一個簡單的腳本,我試圖讓Monit來監視。 some digging around後,我發現這個小金塊:start program = "su - myuser -c '/home/user/myscript.rb start' ",我相信應該工作,但看着它說的日誌文件:Monit無法啓動進程

[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 

如果你有一個想法,什麼可能會在我很想聽到你的聲音!

回答

7

我想你可以嘗試這樣的:在monit doc規定

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 

+6

嗨布萊斯,擺弄周圍的_lot_後,我發現下面的它:啓動程序=「/斌/慶典-c「出口rvm_path =/home/user/.rvm;。$ rvm_path/scripts/rvm; cd /home/user/crittr.me; $ rvm_path/bin/rvm rvmrc load; ./simple_script_daemon.rb start'「感謝您的幫助! – fetimo

+1

您應該回答自己的問題,並將您的答案標記爲接受的解決方案。 –

+1

@fetimo請把它變成答案。它爲我工作! – Renan

4

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