使用open()启动进程的退出状态

时间:2010-07-14 04:42:49

标签: ruby

使用open()打开的进程的存在状态是什么,例如:

f = open("|#{cmd}", 'r')
while char = f.getc
  do something ...
end
f.????

1 个答案:

答案 0 :(得分:2)

关闭$?后,

f将包含退出状态。 e.g。

irb(main):024:0> f = open("|#{cmd}", "r")
=> #<IO:0x2d7e9dc>
# read from f here
irb(main):025:0> f.close
=> nil
irb(main):026:0> $?
=> #<Process::Status: pid=3576,exited(0)>
irb(main):027:0> $?.exitstatus
=> 0