我試圖分叉一個子進程,等待它完成,如果它沒有在一定的時間內完成,就殺了它。等待Ruby子pid退出
這是我到目前爲止有:
servers.each do |server|
pid = fork do
puts "Forking #{server}."
output = "doing stuff here"
puts output
end
Process.wait
puts "#{server} child exited, pid = #{pid}"
end
某處後/左右Process.wait,我想某種效用等待20秒,如果這個過程仍然在那裏,我d喜歡殺死它並將輸出標記爲「錯誤」。
我是fork/exec的新手。我的代碼實際上是分叉的,但我不知道如何處理它的等待/查殺方面。
這工作完美! – awojo