我想解析使用子进程的python的sar结果,每当我调用调用sar子进程的python代码时,它会产生不同数量的行。 这里的一个最小的程序以重现此问题:在Python中调用sar产生奇怪的结果
import sys
import subprocess
fn = sys.argv[1]
p = subprocess.Popen(str('sar -r -f %s' % fn).split(' '), shell=True, stdout=subprocess.PIPE)
count = 0
while p.poll() is None:
output = p.stdout.readline()
count += 1
print "num lines = %d" % count
调用此程序几次,产生不同数目的行,每行时间:这样
for i in {1..10}; do ./sarextractor.py /var/log/sysstat/sa02; done
直接在命令行调用SAR产生恒定数量线:
for i in {1..10}; do sar -r -f /var/log/sysstat/sa02 | wc -l; done
任何想法这怎么会发生?
谢谢它的作品! – 2014-09-26 07:47:12