【发布时间】:2012-07-18 02:18:04
【问题描述】:
我正在使用 resque,它带有一个队列处理器,作为其执行的一部分,它将启动一个 shell 进程。目前,我使用PTY.spawn() 调用shell 命令并处理其输出。
我想扩充这段代码,以便可以给出一个数量 (N)(在 VM 上执行的命令,我希望能够通过一次调用启动一个可变数字),并调用 shell 进程N 次在不同的进程中,第 N 次调用不必等待调用 N-1 完成,依此类推。我还想从每次调用中捕获所有 STDOUT,以便在调用完成后对输出进行处理。
我查看了Kernel::fork,但分叉块内的代码范围与其父块不同(原因很明显)。
我可以使用哪些工具来独立生成每个进程,捕获它们的输出,并且我仍然可以让父进程等待它们全部完成后再继续?
【问题讨论】: