Unfortunately using the "ENV=production" at the start of the command
line is causing /bin/sh to be invoked.

The best way to solve this is to actually use:

  actor.env   = { 'ENV' => 'production' }
  actor.start = "ruby #{app_root}/run/servers.rb"

which will use god to set the environment variables and won't trigger
the extra process to be started.

  actor.dir = "/..."

is also helpful in preventing the need for a "cd" at the start of your
command line as well.


On Mar 25, 11:24 am, Philippe Creux <[email protected]> wrote:
> Hey guys,
>
> I'm using God to monitor a process that doesn't daemonized. When I
> start it and 'ps -aux | grep ..' it I get the following:
>
>   [philippe.cr...@versa current]$ ps aux | grep servers
>   root     22969  0.1  0.1  65956  1148 ?        Ss   10:35   0:00 sh -
> c ENV=production ruby /opt/actors/current/run/servers.rb
>   root     22970 24.7  6.3 175956 66276 ?        Sl   10:35   0:04
> ruby /opt/actors/current/run/servers.rb
>   241698919 22986 0.0  0.0  61184   720 pts/0    R+   10:35   0:00
> grep servers
>
> Ok, so God double fork the command is run with PID 22970. Its parent
> is just the run command with PID 22969.
>
> However, if I display the PID stored:
>   [philippe.cr...@versa current]$ cat /var/run/god/actor.pid
>   22969
>
> I get the parent PID. So when doing god stop actor, the parent si
> killed but not the actual process.
>
> Here is my god config:
>
> app_root = '/opt/actors/current'
>
> God.watch do |actor|
>   actor.name = 'actor'
>   actor.interval = 30.seconds
>   actor.start = "ENV=production ruby #{app_root}/run/servers.rb"
>   actor.start_grace = 5.seconds
>   actor.restart_grace = 5.seconds
> end
>
> Thanks for your help!
>
> Cheers,
>
> Philippe

-- 
You received this message because you are subscribed to the Google Groups 
"god.rb" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/god-rb?hl=en.

Reply via email to