Linux c 获取cpu使用率
部分代码改编自来自http://blog.csdn.net/primeprime/article/details/41458731
主要的原理就是获取top -n 1 | grep Cpu执行的结果,并且解析出需要的参数。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#define READ 1
#define WRITE 2
#define CPU_ORDER "top -n 1 | grep Cpu" //执行命令行,并且读取\写入数据
//参数一:命令行
//参数二:执行结果
//参数三:读写选项,默认为1就好,我并没有写写命令行有关的函数
//返回值:成功返回1,失败返回0
//待修改:我并没有写写命令行有关的函数,不过不影响功能
int executeCmd(char *cmd,char *result,int option)
{
char buffer[];
char fileOption[]="r";
FILE *file=NULL; if((NULL==cmd)||(NULL==result))
{
printf("\nexecuteCmd param null!\n");
return ;
} switch(option)
{
case READ:
{
strcpy(fileOption,"r");
break;
}
case WRITE:
{
strcpy(fileOption,"w");
break;
}
default:
{
break;
} } if(NULL==(file=popen(cmd,fileOption)))//打开通道
{
perror("executeCmd popen fail!");
return ;
} strcpy(result,""); while(NULL!=fgets(buffer,,file))//读取结果
{
strcat(result,buffer);
} if(-==pclose(file))//关闭通道
{
perror("executeCmd pclose fail!");
return ;
} return ;
} //获取cpu的用户使用率和系统使用率
//参数一、参数二:存储cpu用户使用率和系统使用率的参数
int getCpuInfo(char *cpuUser,char *cpuSystem)
{
char buffer[]="";
int flag;
if((NULL==cpuUser)||(NULL==cpuSystem))
{
printf("\ngetCpuInfo param null!\n");
return ;
} if(==(flag=executeCmd(CPU_ORDER,buffer,READ)))//执行top -n 1 | grep Cpu命令
{ sscanf(buffer,"%*s%s%*s%s%*s",cpuUser,cpuSystem);//读取cpu用户使用率和系统使用率
}
return ;
} int main()
{ char str1[]="none";
char str2[]="none"; getCpuInfo(str1,str2); printf("\n%s %s\n",str1,str2); return ;
}
Linux c 获取cpu使用率的更多相关文章
- Linux c 获取cpu使用率(2)
上一篇博文当中,我们谈论了在Linux中如何获取执行命令行的结果,最终得到cpu的 使用率,但是十分不幸的事情是: 1)通过top -n 1 | grep Cpu获取的cpu使用率不会刷新,每次读取结 ...
- 简单获取cpu使用率,以及后台运行的问题
做了一个运维平台,有一个功能定时执行一个脚本,获取cpu使用率和内存使用情况到监控平台. 获取cpu使用率使用的是top中的信息.直接运行没有问题.通过nohup xxx.sh & 之后获取不 ...
- Linux上获取CPU Core个数的实现
Linux上获取CPU Core个数的实现 可以通过多种手段取得CPU Core的个数,如: 1) 调用系统提供的函数get_nprocs(),可以在头文件sys/sysinfo.h中发现它 2) 借 ...
- Linux系统获取CPU温度
Linux系统获取CPU温度 摘自:https://jingyan.baidu.com/article/cbf0e500407d072eab289343.html 各位好,本篇将简单介绍如何在不同系列 ...
- linux下实现CPU使用率和内存使用率获取方法
想获取一下目标机运行时linux系统的硬件占用情况,写了这几个小程序,以后直接用了. 方法就是读取proc下的文件来获取了. cpu使用率: /proc/stat ,内存使用情况: /p ...
- Linux系统中CPU使用率查询常用的5个命令
在程序开发中,我们一般都是在Linux系统上进行开发,因此对Linux系统的维护工作很重要.在Linux系统维护中,我们需要经常查看的就是cpu的使用率,分析系统的整体运行情况.那CPU使用率怎么查询 ...
- 转载 - LINUX下查看CPU使用率的命令
几个常用的命令,一些不错的解释 http://blog.csdn.net/wengpingbo/article/details/6302058 1.top 使用权限:所有使用者 使用方式:top [- ...
- shell 获取cpu使用率
1.shell脚本获取主机每颗CPU使用率的方法. #!/bin/bash interval= cpu_num=`-] -c` start_idle=() start_total=() cpu_rat ...
- LINUX下查看CPU使用率的命令[Z]
1.top 使用权限:所有使用者 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示process的动态 d :改变显示的更新速度,或 ...
随机推荐
- Parco_Love_gcd
传送门 出题人说正解为RMQ,鄙人实在太蒟蒻了,不会呀只能暴力…… #include <bits/stdc++.h> using namespace std; #define ll lon ...
- Vue使用Typescript开发编译时提示“ERROR in ./src/main.ts Module build failed: TypeError: Cannot read property 'afterCompile' of undefined”的解决方法
使用Typescript开发Vue,一切准备就绪.但npm start 时,提示“ ERROR in ./src/main.tsModule build failed: TypeError: Cann ...
- 下拉选择插件select2赋值、创建、清空
在select2中,设置指定值为选中状态 $("#select2_Id").val("XXXXX").select2()或者$("#latnId&qu ...
- css3动态计算元素的高度及宽度
1.px 像素,我们在网页布局中一般都是用px. 2.百分比 百分比一般宽泛的讲是相对于父元素,自适应网页布局越来越多,百分比也经常用到了 3.Viewport 当已知一个div的高度 ...
- codeforces 985E Pencils and Boxes
题意: 把一个数组分成若干组,保证每组的size >= k并且一组中任意两个数字的差的绝对值 <= d,问存不存在这样的分法. 思路: 线性dp. 用dp[i]表示前i个数是否有分法. 设 ...
- 【转】AI类人工智能产品经理的丛林法则
本文转载自:https://blog.csdn.net/buptgshengod/article/details/77030338 AI是大家都很关注的领域,然而对于大部分想要入行的同学来讲,AI的算 ...
- php实现微信网页授权回调代理
一个简单的php文件,实现微信网页授权回调域名的代理转发 <?php function is_HTTPS() { if (!isset($_SERVER['HTTPS'])) return F ...
- TLS握手、中断恢复与证书中心的原因
在双方都拿到随机数A.B.C后,将会使用这三个随机数生成一个对话密钥,然后使用该对话密钥进行对称加密通信,这种方式我们可以看到,安全性取决于随机数C的加密,前面的几个都是明文传的,这里就取决于服务器的 ...
- Future 示例
public static Object send(RequestClient request) future.channel().writeAndFlush(JSONObject.toJSONStr ...
- Python Mysql 交互
Mysql 安装Python模块 Linux: yum install MySQL-python Windos: http://files.cnblogs.com/files/wupeiqi/py ...