加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 20:01:26 所属栏目:百科 来源:网络整理
导读:我似乎试图检索从 ruby的Open3.popen3() – 方法启动的shell命令的退出状态. 这是我的代码: require 'open3'stdin,stdout,stderr = Open3.popen3('ls') 当我现在尝试访问$?它仍然是零 是否可以检索退出状态? 笔记: – ls不是我在我的脚本中使用的命令.我
我似乎试图检索从 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读