外部命令如何将其输出和退出状态返回给Ruby?

use*_*574 7 ruby shell stdout exit-code

这是关于ruby系统命令检查退出代码的后续问题.我想运行命令,以获取其输出以及退出代码.目前我在代码中使用的是:

rv = `#{cmd} 2>&1`
Run Code Online (Sandbox Code Playgroud)

但这只能捕获输出,并且

rv = system(cmd)
Run Code Online (Sandbox Code Playgroud)

仅捕获退出代码.如何实现两者?

Mat*_*att 6

检查$?.exitstatus退出代码.

有关详细信息,请参阅http://www.ruby-doc.org/core-2.1.0/Process/Status.html