C通过管道获取LINUX进程内存占用情况

来源:互联网 发布:汽车行业人力数据 编辑:程序博客网 时间:2024/05/18 20:10
            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); //关闭管道            }

1 0
原创粉丝点击