当前位置: 技术问答>linux和unix
linux下如何获得CPU的信息!
来源: 互联网 发布时间:2016-10-21
本文导语: 请问linux下,我想在程序中如何得到CPU的信息呢,比如CPU ID,CPU利用率; 还有关机功能,谢谢。 | 我觉得可以参考ps程序的实现 网上有coreutils的源代码实现,其中就有ps程序的源代码 |...
请问linux下,我想在程序中如何得到CPU的信息呢,比如CPU ID,CPU利用率;
还有关机功能,谢谢。
还有关机功能,谢谢。
|
我觉得可以参考ps程序的实现
网上有coreutils的源代码实现,其中就有ps程序的源代码
网上有coreutils的源代码实现,其中就有ps程序的源代码
|
system("cat /proc/cpuinfo")
|
兄弟,没有什么不太好的,这样做简单实用,而且不会出错。但也看你的用例,如果你要频繁地调用,那确实不妥,如果不那么频繁,没有关系。我想肯定不会频繁调用。
|
读proc/uptime和proc/stat文件,下面代码是top.c相关部分,jiffy==>hz那些比较麻烦,其他很简单,自己看吧。
unsigned long user_j, nice_j, sys_j, other_j; /* jiffies (clock ticks) */
double up_1, up_2, seconds;
unsigned long jiffies, h;
char buf[80];
int uptime_fd = -1;
int stat_fd = -1;
long smp_num_cpus = sysconf(_SC_NPROCESSORS_CONF);
if(smp_num_cpus