我正在尝试使用 ruby 中的 Open3 模块在 ruby 中执行“top -n 1”命令。
这是我的代码
command = "top -n 1"
Open3.popen3 (command) do |i,o,e,t|
i.close
exit_status = t.value
unless exit_status.success?
puts "NOPE"
end
t.value
end
我得到的只是NOPE。即使我尝试打印o.read
或者o.gets
我得到的只是一个空行。
无论如何我可以使用 open3 来执行该命令吗?还有其他执行方式吗?难道我做错了什么?
我看到我可以使用反引号(`)来执行系统命令。这是一个好习惯吗?我看到几篇文章和博客说不是。
提前致谢。