subprocess
モジュールを試しましたか?os.system
他の古いos
方法の中で置き換えるために追加されました。以下は、ドキュメントからほぼ直接です。
import os
import subprocess
proc = subprocess.Popen(cmd, shell=True)
pid, sts = os.waitpid(proc.pid, 0)
# you may check on this process later and kill it if it's taking too long
if proc.poll() in [whatever, ...]:
os.kill(proc.pid)
または、プロセスが終了する理由をデバッグしようとしている場合:
import subprocess
import sys
try:
retcode = subprocess.call(cmd, shell=True)
if retcode < 0:
print >>sys.stderr, "Child was terminated by signal", -retcode
else:
print >>sys.stderr, "Child returned", retcode
except OSError, e:
print >>sys.stderr, "Execution failed:", e