如何从ruby Open3.popen3()中检索退出状态?

前端之家收集整理的这篇文章主要介绍了如何从ruby Open3.popen3()中检索退出状态?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我似乎试图检索从 ruby的Open3.popen3() – 方法启动的shell命令的退出状态.

这是我的代码

require 'open3'
stdin,stdout,stderr = Open3.popen3('ls')

当我现在尝试访问$?它仍然是零

是否可以检索退出状态?

笔记:
– ls不是我在我的脚本中使用的命令.我只是用这个举个例子.我的脚本有点复杂,包含用户输入,这就是为什么我需要Open3的消毒功能.
– 我也尝试过popen3的块变体,但是没有成功.

解决方法

popen3生成/返回四个参数,stdin,stderr和wait_thr. wait_thr包含一个方法wait_thr.value,它返回命令的退出状态(实际上,它是根据文档的Process :: Status对象).还有看看 http://www.ruby-doc.org/stdlib-1.9.3/libdoc/open3/rdoc/Open3.html#method-c-popen3

猜你在找的Ruby相关文章