我使用红宝石“分支”选项的输出如下:如何查看多个分叉进程同时
pid1 = fork do
pid1_output = `ruby scrape1.rb`
puts "#{pid1_output}"
puts ""
exit
end
pid2 = fork do
pid2_output = `ruby scrape2.rb`
puts "#{pid2_output}"
puts ""
exit
end
pid3 = fork do
pid3_output = `ruby scrape3.rb`
puts "#{pid3_output}"
puts ""
exit
end
pid4 = fork do
pid4_output = `ruby scrape4.rb`
puts "#{pid4_output}"
puts ""
exit
end
Process.waitall
这里的问题是,有时流程之一(例如:ruby scrape1.rb
)可能失败或最终返回无法在变量中捕获的数量巨大的文本......我如何仍然同时运行4个进程并实时在一个终端窗口中查看其所有输出?我明白输出的顺序可能会变得很强烈,但这是好的..我基本上想要将每个分支进程的STDOUT和STDERR重新路由到主程序。这样我就可以看到我的每一个刮板,并随着他们的进展和错误发生。
我该怎么做呢?网上有关于Kernel#select的示例代码吗? - 除了红宝石文档是...感谢您的输入。 – sambehera
此外,rubydoc上的乒乓示例对我的上下文没有多大意义..也许我误解了你想指出的内容? – sambehera