Python:Process
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