(急)请问如何编程取得某个进程占用的cpu 及内存
是代码怎么实现,不是要top之类的命令
或者是proc相关知识也行
非常感谢
问题点数:100、回复次数:9Top
1 楼ari(薛定锷)回复于 2002-11-22 12:13:15 得分 10
用管道行么?
fopen("top","r");Top
2 楼ari(薛定锷)回复于 2002-11-22 12:13:59 得分 0
写错了
popen("top", "r");Top
3 楼sillybird0()回复于 2002-11-22 12:26:02 得分 30
1.可以用system("top -c 1 >a");
然后fopen("a","r"),读相应信息。
用popen("top","r"),有可能会造成僵尸进程!!!
2.直接读取/proc信息,/proc/cpuinfo 保存的是静态信息,而/proc/stat
保存的是动态信息(cpu 使用率等等)Top
4 楼x86(大雪)回复于 2002-11-22 12:59:01 得分 10
/proc/self/status可以读到自己的内存使用情况
/proc/1234/status可以读到pid=1234的进程内存使用Top
5 楼tjsparkle(不混csdn)回复于 2002-11-22 13:02:10 得分 20
可不可以用top 和sed 读到数据。
写一个脚本。Top
6 楼tjsparkle(不混csdn)回复于 2002-11-22 13:04:32 得分 0
还是top 和awk?Top
7 楼mengge(踏岸寻柳)回复于 2002-11-22 14:12:47 得分 10
除了系统调用system()、exec()似乎没有别的什么好办法。
管道也是基于系统调用的。Top
8 楼x86(大雪)回复于 2002-11-22 14:14:43 得分 20
ps -axu |grep test|awk '{print $3};'
有两个结果,其中一个是grep进程的
$3是CPU,$4是内存Top
9 楼panxiongfei(飞)回复于 2003-02-05 22:55:28 得分 0
gzTop




