linux获取cpu使用

//通过命令获取	top -n 1 | grep Cpu
double CPUInfo::GetCPU()
{
	TODO://获取总的cpu使用率
	double cpu = 0.0;
	cpu = getcpuBycmd();	//通过命令获取cpu使用率

	return cpu;
}

double CPUInfo::getcpuBycmd()
{
	double us_cpu = 0.0;
	char str_us_cpu[20] = "none";
	char str_sys_cpu[20] = "none";

	getCpuInfo(str_us_cpu, str_sys_cpu);	//判断一下返回值

	//printf("\n%s %s\n", str1, str2);
	std::cout << "test_getcpuBycmd:	" << "us_cpu = " << str_us_cpu << "	sys_cpu = " << str_sys_cpu << std::endl;
	sscanf(str_us_cpu, "%lf", &us_cpu);

	return us_cpu;
}

//获取cpu的用户使用率和系统使用率
int CPUInfo::getCpuInfo(char *cpuUser, char *cpuSystem)
{
	char buffer[2000] = "";
	int flag;
	if ((NULL == cpuUser) || (NULL == cpuSystem))
	{
		printf("\ngetCpuInfo param null!\n");
		return 0;
	}

	if (1 == (flag = executeCmd(CPU_ORDER, buffer, READ)))//执行top -n 1 | grep Cpu命令
	{
		sscanf(buffer, "%*s%s%*s%s%*s", cpuUser, cpuSystem);//读取cpu用户使用率和系统使用率
	}
	return 1;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值