我想解析使用子進程的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