From: Jos Backus Date: 2008-09-10T08:56:54+09:00 Subject: Re: Drake: Distributed Rake On Wed, Sep 10, 2008 at 08:38:35AM +0900, . wrote: > On Sep 9, 11:25�am, Jos Backus wrote: > > Does Drake properly clean up its children if it is aborted with SIGINT? ISTR > > multitask in rake leaving orphans running. I'm misremembering. SIGINT seems to work okay, it's SIGTERM that leaves orphaned children (with ppid 1) around with rake, presumably because it doesn't catch that signal. Same with drake (0.8.1.11.0.1) > Can you construct a test case? The process table is clean after I hit > ctrl-c during drake -j100 on this > > 100.times { |i| > name = i.to_s.to_sym > task name do > fork { > loop { } > } > end > task :default => name > } Thanks, I tried `drake &' folllowed by `kill $!' (using bash) and the forked drake children revert from ppid $! to ppid 1. A `killall drake' is required to clean up. -- Jos Backus jos at catnook.com