0

Ruby 提供了类似Process.waitSignal.trap同步分叉进程的工具。但是如何确保只注册第一级子进程呢?例如,如果您的主进程启动进程A并且其中一个为另一个子进程B加注星标。如果我wait/trap在我的主流程中使用,我如何指定对像A这样的直接子流程而不是像B这样的子子流程的兴趣?

例如:

Signal.trap("CLD")  { counter += 1 }    
Process.wait if counter <= 0
counter -= 1
fork { … }

我使用这种技术来限制产生的子进程的数量。但是,如果子进程产生更多子进程,这就会中断。

4

0 回答 0