On Sat, 2008-02-02 at 07:41 +0900, ara howard wrote:
> On Feb 1, 2008, at 3:21 PM, Uwe Kubosch wrote:
> 
> > Can anybody explain to me why child processes continue to live after
> > their parent process has ended?
> 
> it's up to you to make sure that children do not outlive their  
> parent.  under many circumstances ruby will take of this before you  
> but there are certain situations which no process cannot deal with...   
> my slave lib addresses this in a full proof way, but a solid  
> understanding of process management is required to use it.

Thank you for your reply.

It seems slave-1.2.1 does what I want: Start a background worker
process, leave it alone, and be sure it stops when the main process
ends.  I have inserted the following in my config/environment.rb:

gem 'slave'
require 'slave'
require 'lib/workers/my_worker'
my_worker_thread = Slave.object(:async=>true) {MyWorker.new.run}

The method MyWorker#run never returns.  Does this look OK?  Is
Slave::object designed for usage such as this?


Uwe