2011-07-10 20 views
0

postは、Pythonから単一の外部プログラムを起動する方法を説明しています 同時にマルチプルプログラム(またはスレッド)を同時に起動する必要がありますか?Pythonから同時に2つのプログラムを実行するにはどうすればいいですか?

私の意図するアプリケーションは、ビデオスライドショーです。あなたが呼び出すことができますので、私は、返されたオブジェクトにcommunicateを呼び出すことによって

+0

複数回呼び出すようにしましたか? –

+0

@Ignacio Vazquez-Abrams: 'subprocess.call'は、サブプロセスが完了するまでブロックします。 – icktoofay

+0

'subprocess.popen'は過去に複数のプロセスを起動するために使用したものではありません。 – user488551

答えて

5

subprocess.Popenが明示的にそれを聞いていない限りブロックされません事前に同時に

感謝を画像シーケンスプレーヤーや音楽プレーヤーを起動したいですそれは複数回のプロセスを開始するために複数回です。

両方のサブプロセスと同時に通信する必要がある場合(たとえば、STDOUTを読み取る)、別のスレッドでsubprocess.Popenを呼び出します。各スレッドは、サブプロセスを管理し、サブプロセスと通信できます。当然ながら、これはすべての同期を行うことができますが、それは特定のアプリケーションに大きく依存します。