我正在尋找一個解決方案,以在單獨的進程中定義塊或Proc中產生的代碼。 喜歡的東西如何在單獨的進程中運行代碼?
p = Proc.new do
File.open('newproc.log', 'w') {
|fw|
10.times do
fw.puts Time.now
sleep 1
end
}
end
# spawn p in a separate process here
# original code continues
沒有過程分叉,沒有線程,在一個外部文件中沒有存儲。只需在獨立進程中執行該塊。
有什麼想法?
更新: 我要添加塊不取決於調用過程中定義的任何東西。
爲什麼不分流? –
@SergioTulentsev因爲原來的過程是「胖」,即。佔用大量內存,分叉會複製東西。 –
爲什麼不把它放在另一個腳本中,而是調用它呢? – squiguy