1
我正在使用resque和一个队列处理器,作为其执行的一部分,它将启动一个shell进程。目前,我使用PTY.spawn()
来调用shell命令并处理其输出。在Ruby中产生同时的子进程
我想增加这段代码,以便给出一个数量(N)(命令在板载虚拟机上执行,我希望能够用一次调用启动一个变量),并让shell进程成为在单独的进程中被称为N次,而第N次呼叫不得不等待呼叫N-1完成,等等。我也想从每个调用中捕获所有的STDOUT,这样一旦调用完成,我就可以在输出上工作。
我已经看过Kernel::fork
,但分叉块内的代码范围与其父项不一样(原因很明显)。
我可以使用哪些工具,以便每个进程可以独立生成,它们的输出可以被捕获,并且我仍然可以让父进程在继续之前等待它们全部完成?
请问您能澄清一些吗?线程在调用Thread.new或t.join时是否开始处理? – asfallows 2012-07-17 19:42:59
@asfallows:'Thread.new'。 't.join'等待线程完成。 – Linuxios 2012-07-17 19:45:02
谢谢!我会玩这个。应该是我所需要的。 – asfallows 2012-07-17 19:48:26