我正在linux和C中工作,我正在尝试从stat
中获取特定值。
在/proc
中,当我执行stat
时,会返回多个值。
现在我正在尝试如下操作:
thisFile = fopen("/proc/stat","r");
并打印各个用户,系统和空闲模式,以便在我printf
时可以按以下方式打印。
User Mode: 12189
System Mode: 5190
Idle Mode: 443
如何获取用户,系统和空闲模式的各个值?可能吗?? 谢谢您的提前帮助。
答案 0 :(得分:1)
根据man 5 proc,cpu
的{{1}}行中的前四个字段是
用户(1)在用户模式下花费的时间。
不错(2)在用户模式下优先级较低的时间(不错)。
系统(3)在系统模式下花费的时间。
空闲(4)在空闲任务中花费的时间。
所以一种可能性是使用fgets()将文件逐行读入缓冲区,然后使用sscanf()解析相关的/proc/stat
行:
cpu
此答案实现了之前评论中已经建议的内容。