我想在程序里面取出cpu当前空闲率,然后打印出来,下面是程序代码部分,不知道 运行是,红指示灯是一直亮着的,结果不能及时输出,我试过fflush(stdout)和setvbuf为_IONBF,还是没有解决,请各位指点一下,谢谢!
char *cmd = “hogs | awk ‘{if($1==1)print$4}’”;
// char *cmd = “hogs | awk ‘{print$4}’”;
char buf [10];
FILE *ptr;
short idlecpu;
if ((ptr = popen(cmd, “r”)) != NULL)
if(fgets(buf,10, ptr) != NULL)
{
if(fgets(buf,10, ptr) != NULL)
idlecpu=atoi(buf);
printf(“idlecpu=%d \n”,idlecpu);
printf("%s ",buf);
}
pclose(ptr);
printf(“exit!”);