我想在Ruby中運行一個線程安全的腳本,調用一個外部程序,然後檢查該外部程序的退出狀態。什麼是最好的方式來做到這一點?到目前爲止,我一直在檢查$?
,但我認爲我正在與該計劃的其他部分競爭。ruby中線程安全的外部進程,以及檢查退出狀態
下面是一些示例代碼:
Thread.new do
`external_program`
if $?.exitstatus == 0
# it worked.
else
# it didn't work.
end
end
理想情況下,我會做這樣的事情
Process.new(`external_program`).exitstatus
使得exitstatus
是息息相關的,是過程,而不是最後一個恰好完成了。有沒有辦法做到這一點?
腳本是開源還是私有? – 2010-01-31 22:12:23
@Andrew:開源(這是我的腳本)。 – Peter 2010-02-01 03:13:25