使用 C++ 获取 Linux 中进程的 RAM 和 CPU 使用率
Posted
技术标签:
【中文标题】使用 C++ 获取 Linux 中进程的 RAM 和 CPU 使用率【英文标题】:Get RAM and CPU usage for process in Linux with C++ 【发布时间】:2011-07-12 04:21:04 【问题描述】:我想写一个像系统监视器这样的程序。
我想要一个程序列表,其中包含它们的进程 ID 以及 CPU 和 RAM 的使用情况。
我知道 Linux 在/proc
文件夹中写入了这些信息,但有人告诉我,我也可以使用一些函数来获取它。例如一个程序会返回一个类似的列表:
name PID RAM
sh 3904 72KIB
我想用 C++ 编写代码。
【问题讨论】:
已经有很多程序可以做到这一点。大多数是开源的。去看看源代码。 @Chris 你能帮我一个链接吗?谢谢 htop 是我个人的最爱。 【参考方案1】:您为什么不查看top
的源代码,它显示了这些以及更多的进程统计信息?
Here是busybox版本,比较简短。它通过读取proc
文件系统获取信息,逻辑是here。
【讨论】:
谢谢...它看起来不错。但是我可以如何使用它?它似乎不是标准库。你能帮我一下吗? @mimad:您可以使用标准库从 Linux/proc/
文件系统中读取伪文件。要在那里枚举文件,请使用例如提升。以上是关于使用 C++ 获取 Linux 中进程的 RAM 和 CPU 使用率的主要内容,如果未能解决你的问题,请参考以下文章
使用 C 或 C++ 在 OS/400 中获取可用 RAM?
如何使用 C++ 从 macOS 的 Activity Monitor 应用程序获取 CPU、GPU 和 RAM 使用情况?