linux下通过C语⾔编程实现读取系统信息-Meminfo
在linux下编程,常常需要获取系统信息,以下通过编程实现抓取系统信息,可以将下列代码作为⼀个模板来修改实现⾃⼰的需求。⽂章⽬录
⼀、需求
抓取系统内存信息MemFree项的值 - 该值代表系统当前可⽤内存
⼆、源码
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int main(int agrc,char**argv)
{
char buf[64]={'\0'};
FILE *Stream;
int MemFree_info;
// popen执⾏shell命令并保存返回结果内容
// 1、先执⾏cat /proc/meminfo 获取系统内存信息
// 2、在步骤1的返回结果上运⾏ grep MemFree 命令查对应项
// 3、在步骤2的返回结果上运⾏ awk {'print $2'} 命令打印第⼆个参数,以空格作为分割,如字符串“MemFree: 1431496 kB”,则$2 为“1431496” Stream =popen("cat /proc/meminfo | grep MemFree | awk {'print $2'}","r");
fread(buf,sizeof(char),sizeof(buf), Stream);// 读出Stream⽂件描述符中的流数据,不⾜64字节,剩余空间内容不变
MemFree_info =atoi(buf);//注意MemFree_info需要定义int类型,否则赋值出错
printf("MemFree size:%d(kb)\n", MemFree_info);
pclose(Stream);
return0;linux在线编程
}
三、编译
四、运⾏效果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论