这看起来很艰难.从进程ID开始,我需要能够抓住:
>该流程占用的cpu占多少%
>进程使用cpu的时间
这需要用Cocoa / Objective-C或C编写.它还需要通过SNow Leopard处理Tiger.
谢谢!
解决方法 粗略的方法是产生一个popen命令并从ps获取一些输出.就像这样:
#include <stdio.h>#include <string.h>#include <stdlib.h>voID get_process_info(int pID) { char ps_cmd[256]; sprintf(ps_cmd,"ps -O %%cpu -p %d",pID); // see man page for ps file *fp = popen(ps_cmd,"r"); if (fp) { char line[4096]; while (line == fgets(line,4096,fp)) { if (atoi(line) == pID) { char dummy[256]; char cpu[256]; char time[256]; // PID %cpu TT STAT TIME COMMAND // 32324 0,0 s001 S+ 0:00.00 bc sscanf(line,"%s %s %s %s %s",dummy,cpu,time); printf("%s %s\n",time); // you will need to parse these strings pclose(fp); return; } } pclose(fp); }}int main() { get_process_info(32324); return 0;}总结
以上是内存溢出为你收集整理的objective-c – 从进程ID获取CPU信息全部内容,希望文章能够帮你解决objective-c – 从进程ID获取CPU信息所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)