Executing the top command using Open3 in ruby
我尝试使用Ruby中的Open3模块在Ruby中执行"top-n 1"命令。
这是我的密码
1 2 3 4 5 6 7 8 9 | 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 |
我得到的只是不。即使我尝试打印
我能用open3执行这个命令吗?还有其他的执行方法吗?我做错什么了吗?
我看到我可以使用backticks(`)来执行系统命令。这是个好习惯吗?我看到一些文章和博客说不是。
事先谢谢。
您可以通过打印块参数
错误应该如下所示:
top: failed tty get
这在尝试以非交互模式运行
1 2 3 | -b :Batch-mode operation Starts top in Batch mode, which could be useful for sending output from top to other programs or to a file. In this mode, top will not accept input and runs until the iterations limit you've set with the `-n' command-line option or until killed. |
那么,
还有很多方法可以让系统调用Ruby,请在这里检查它们。