この単純な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使用量を1秒間に2回パーセントで出力します。
%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/...