サブプロセスを実行する

subprocessクラスを使って、プログラムの中で別のプロセスを起動する。
以下のコードで正常に動作することを確認した。

import subprocess
import sys, time

itime=0
cmd = "python cmdtest.py"

p=subprocess.Popen(cmd, stdout=subprocess.PIPE)

while (p.poll()==None):
    itime +=1
    sys.stdout.write('.')
    time.sleep(0.2)

print "completed"
print p.stdout.read()  # display results of cmdtest

Popenメソッドの引数の"stdout=subprocess.PIPE"で、サブプロセスと親の間のパイプを作る。
p.poll()でサブプロセスの終了を確認する(Noneは未終了)。
p.stdout.read()でサブプロセスからの出力を表示する。