我使用紅寶石「分支」選項的輸出如下:如何查看多個分叉進程同時
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