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