C通过管道获取LINUX进程内存占用情况
2016-01-19 14:33
691 查看
char cpu[100], mem[100]; char cmd[] = "top -b -n1 | grep XXXX| awk '{print($9,$10,$12);}'";//XXXX就是你要监控的进程名 FILE *pp = popen(cmd, "r"); //建立管道 if (pp != NULL) { char tmp[1024] = {0}; //设置一个合适的长度,以存储每一行输出 if(fgets(tmp, sizeof(tmp), pp) != NULL) { char delims[] = " "; char *p = strtok( tmp, delims); if(p) sprintf(cpu, "%s%%", p); p = strtok( NULL, delims); if(p) sprintf(mem, "%s%%", p); } pclose(pp); //关闭管道 }
相关文章推荐
- WIN8.1下安装Linux系统,双系统
- linux配置定时任务
- SSDB部署
- linux下多线程控制服务器与客户端
- ArchLlinux安装SVN工具RabbitVCS
- linux 用户空间与内核空间——高端内存详解
- linux下同时运行不同版本的qt程序
- linux IP包收发流程
- linux mysql 更改MySQL数据库目录位置
- linux C获取进程的CPU和内存
- Linux kill multi processes
- 最适合和最不适合新手使用的几款Linux发行版
- linux 进程间通信 pipe
- Linux学习 -- Vi命令
- centos7修改时区
- linux-0.12/boot/bootsect.S源代码阅读
- LINUX 笔记5
- Wind River Linux 6 Security Profile
- linux后台运行和关闭、查看后台任务
- linux 取消控制台报警音