파이썬에서 sar 결과를 구문 분석하려고하는데, 파이썬 코드를 호출 할 때마다 다른 수의 라인을 생성합니다. 다음은이 문제를 재현 할 수있는 최소한의 프로그램 :이 프로그램을 여러 번 호출파이썬에서 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
이 라인의 다른 번호를 매번 생산 : 직접 명령 행에 대한 SAR를 호출이
for i in {1..10}; do ./sarextractor.py /var/log/sysstat/sa02; done
가 일정 수를 생산처럼 개 중 :
for i in {1..10}; do sar -r -f /var/log/sysstat/sa02 | wc -l; done
어떻게 생각하세요?
감사합니다. –