使用 ruby 或 cli 获取当前 cpu 使用情况(不像 top 那样实时)
我想找到一种方法,可以调用命令或方法,并在调用时获取 CPU 使用情况的 int 值。不像top那样,总是让人耳目一新。
我正在 MacRuby 中编写一个应用程序,因此我可以使用 cl 命令或一些 ruby api。
有什么想法吗?
谢谢
编辑:我可以以某种方式调用 top 并在 ruby 中获取它的一帧吗?从那里我可以获得我需要的百分比。虽然我猜这种方式并不理想..
有点解决了:在mac上是top -l 1
,在linux上是top -n 1
。它仅运行一帧。
I want to find a way that I can call a command or method, and get an int with the cpu usage the moment I called it. Not like top, where it keeps refreshing.
I am writing an app in MacRuby, so I can either use a cl command, or some ruby api.
any thoughts?
thanks
edit: can I somehow call top and get one frame of it in ruby? and from there I can get the percentage I need. Although I guess this way is not ideal..
kinda SOLVED: top -l 1
on mac, top -n 1
on linux. It runs top for just one frame.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
w
命令给出一个输出,其中第一行包含负载平均值。所以尝试
w | head -1
它不是一个 int,也不是严格意义上的“CPU 使用情况”,但它可能是一个开始。
The
w
command gives a output which contains load average in the first line.So try
w | head -1
It's not an int, and not strictly "CPU usage", but it might be a start.
您是否检查过
top
是否有一个命令行选项来仅提供瞬时一次性输出,并且您是否查看过ps
?Have you checked whether there's a command-line option for
top
to just give an instantaneous once-only output, and have you looked atps
?