当前位置: 技术问答>linux和unix
(急)请问如何编程取得某个进程占用的cpu 及内存
来源: 互联网 发布时间:2015-01-25
本文导语: 是代码怎么实现,不是要top之类的命令 或者是proc相关知识也行 非常感谢 | 1.可以用system("top -c 1 >a"); 然后fopen("a","r"),读相应信息。 用popen("top","r"),有可能会造成僵尸进程!!! 2.直接读取/...
是代码怎么实现,不是要top之类的命令
或者是proc相关知识也行
非常感谢
或者是proc相关知识也行
非常感谢
|
1.可以用system("top -c 1 >a");
然后fopen("a","r"),读相应信息。
用popen("top","r"),有可能会造成僵尸进程!!!
2.直接读取/proc信息,/proc/cpuinfo 保存的是静态信息,而/proc/stat
保存的是动态信息(cpu 使用率等等)
然后fopen("a","r"),读相应信息。
用popen("top","r"),有可能会造成僵尸进程!!!
2.直接读取/proc信息,/proc/cpuinfo 保存的是静态信息,而/proc/stat
保存的是动态信息(cpu 使用率等等)
|
可不可以用top 和sed 读到数据。
写一个脚本。
写一个脚本。
|
ps -axu |grep test|awk '{print $3};'
有两个结果,其中一个是grep进程的
$3是CPU,$4是内存
有两个结果,其中一个是grep进程的
$3是CPU,$4是内存
|
用管道行么?
fopen("top","r");
fopen("top","r");
|
/proc/self/status可以读到自己的内存使用情况
/proc/1234/status可以读到pid=1234的进程内存使用
/proc/1234/status可以读到pid=1234的进程内存使用
|
除了系统调用system()、exec()似乎没有别的什么好办法。
管道也是基于系统调用的。
管道也是基于系统调用的。