2011-10-30 17 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 

あなたは私はあなたから聞いてみたい何が起こっているかもしれないという考えを持っていれば! 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 

答えて

7

は、私はあなたのような何かを試すことができると思います。

+6

こんにちはブライスは、周りいじるの_lot_後に私が見つけたもの、それはない、次の輸出-cプログラムを開始=「/ binに/ bashの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

関連する問題