Python:Process
lastmod 2016-01-24created 2015-03-015 edits
Process 실행과 관련된 설명.
os.system
반환형은 명령 실행 결과의 성공 유무를 반환한다.
subprocess
os.system와 같이 실행이 목적일 경우 아래와 같이 subprocess.call을 사용하면 된다.
출력된 stdout의 결과를 사용할 경우 subprocess.check_output를 사용하면 된다.
import subprocess
result = subprocess.check_output('./program' , shell=True)
if result == 'AAA' :
print "123"
elif result == 'BBB' :
print "456"
STDERR는 아래와 같이 획득할 수 있다.
from subprocess import Popen, PIPE, STDOUT
cmd = 'ls /etc/fstab /etc/non-existent-file'
p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
output = p.stdout.read()
print output