Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1032142
  • 博文数量: 166
  • 博客积分: 10217
  • 博客等级: 上将
  • 技术积分: 2133
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-09 19:45
文章分类

全部博文(166)

文章存档

2012年(3)

2011年(7)

2010年(18)

2009年(59)

2008年(79)

我的朋友

分类: LINUX

2008-06-26 10:55:00

#include
#include
#include

char* cpu(void)
{
    unsigned int total;
   
    float user;
    float nice;
    float system;
    float idle;

    char cpu[21];
    char text[201];

    FILE *fp;

    fp = fopen("/proc/stat", "r");
    while (fgets(text, 200, fp))
    {
        if (strstr(text, "cpu"))
        {
              sscanf(text, "%s %f %f %f %f", cpu, &user, &nice, &system, &idle);
        }
    }
    fclose(fp);

    total = (user + nice + system + idle);
    user = (user / total) * 100;
    nice = (nice / total) * 100;
    system = (system / total) * 100;
    idle = (idle / total) * 100;

    snprintf(cpu, 21, "%4.2f %4.2f %3.2f %4.2f", user, nice, system, idle);
    printf("cpu detail is:\n%s\n",cpu);
    return(cpu);
}
int main(int argc,char **argv)
{
  //char cpu_detail[200];
  while(1)
   {
  cpu();
    sleep(2);
  }
}
阅读(1550) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-02-10 22:17:55

哇哈哈