这个简单的python脚本应该执行您想要的操作:
import time
import string
import sys
import commands
def get_cpumem(pid):
d = [i for i in commands.getoutput("ps aux").split("\n")
if i.split()[1] == str(pid)]
return (float(d[0].split()[2]), float(d[0].split()[3])) if d else None
if __name__ == '__main__':
if not len(sys.argv) == 2 or not all(i in string.digits for i in sys.argv[1]):
print("usage: %s PID" % sys.argv[0])
exit(2)
print("%CPU\t%MEM")
try:
while True:
x,y = get_cpumem(sys.argv[1])
if not x:
print("no such process")
exit(1)
print("%.2f\t%.2f" % (x,y))
time.sleep(0.5)
except KeyboardInterrupt:
print
exit(0)
您首先需要找出要监视的程序的进程ID,然后可以使用PID作为参数来运行脚本:
python log.py 3912
它将每秒两次打印cpu使用率和ram使用率:
%CPU %MEM
0.90 0.40
1.43 0.40
8.21 0.40
...
然后,您可以将其输出重定向到文件,以便稍后将其导入到电子表格中,python log.py 9391 > firefox_log.txt
然后将数据导入到电子表格中,选择Tab
作为分隔符。
当您按Ctrl + C或进程被杀死时,程序将退出。
ps
可能不同于top
:stackoverflow.com/questions/131303/...