Thanks for the tip!  It seems that the other issue I'm having with the
workling and ultrasphinx start calls is related to Monit resetting
environment variables. When starting ultrasphinx I get the following error
message:

couldn't find HOME environment -- expanding `~'
/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:2390:in
`expand_path'

Is there a way to run monit without it clearing env variables and resetting
$PATH?

Thank you!,
John
 

Martin Pala wrote:
> 
> On Mon, Jan 11, 2010 at 07:32:40PM -0800, bggy wrote:
>> 
>> Hi, I am switching to Monit from God because God leaks badly (haven't
>> checked
>> out their new release which supposedly fixes much of the leaking). To
>> test
>> out Monit I am setting it up on my dev machine (Mac OS X).
>> 
>> God can be configured with calls such as:
>> 
>> start = "starling -d -P #{RAILS_ROOT}/log/starling.pid -q
>> #{RAILS_ROOT}/log/
>> -p 22122"
>> stop = "kill `cat #{RAILS_ROOT}/log/starling.pid`"
>> 
>> With Monit, I'm configuring monitrc with the following to start starling:
>> 
>> with pidfile /full/app/directory/log/starling.pid
>> start program = "/usr/local/bin/starling -d -P
>> /full/app/directory/log/starling.pid -q /full/app/directory/log/ -p
>> 22122"
>> 
>> This works and starling starts up. But, the following call to stop
>> starling
>> doesn't work:
>> 
>> stop program = "/bin/kill `/bin/cat
>> /full/app/directory/log/starling.pid`"
>> 
>> Is there a way to make system calls like the above in the monitrc file?
> 
> 
> Yes, but since Monit does exec() on the program line, if you want to use
> shell
> command line you need to wrap it in shell like this:
> 
>   stop program = "/bin/bash -c '/bin/kill `/bin/cat
> /full/app/directory/log/starling.pid`'"
> 
> 
> 
>> I am also unable to start workling with the following:
>> 
>> start program = "/full/app/directory/script/workling_client start"
>> stop program = "/full/app/directory/script/workling_client stop"
>> 
>> My configuration to start ultrasphinx also does not work:
>> 
>> start program = "/usr/bin/cd /full/app/directory/ && /usr/local/bin/rake
>> ultrasphinx:daemon:start"
>> stop program = "/usr/bin/cd /full/app/directory/ && /usr/local/bin/rake
>> ultrasphinx:daemon:stop"
> 
> 
> Same issue - you need to wrap it in shell to get interpret shell command
> line:
> 
>   start program = "/bin/bash -c '/usr/bin/cd /full/app/directory/ &&
> /usr/local/bin/rake ultrasphinx:daemon:start'"
> 
> 
> Regards,
> Martin
> 
> 
> 
> --
> To unsubscribe:
> http://lists.nongnu.org/mailman/listinfo/monit-general
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Start-Stop-Program-Calls-in-Monitrc-tp27122007p27131347.html
Sent from the monit-general mailing list archive at Nabble.com.



--
To unsubscribe:
http://lists.nongnu.org/mailman/listinfo/monit-general

Reply via email to