2011-07-11 13 views
1

Windowsペイント.mp3などの外部実行アプリケーションをPythonスクリプトで強制終了しようとしています。Windowsの場合、Pythonでアプリケーションを終了する

私はos.startfileでプログラムを開きます。どのように私はプログラムを効率的に閉じることができます任意のアイデア?私はWindows 7マシンを使用しています。 私は多くの助けに感謝したいと思います!ありがとう!

+0

この質問に対する一番最初の答えは、探しているものと同じようです:http://stackoverflow.com/questions/5780425/run-external-program-in-a-loop-with-max-time- limit –

+0

サブプロセスメソッドを実行したくない場合はどうすればよいですか? – dawnoflife

答えて

3

os.kill 2.7のPythonのような作品を求めません。あなたはthis recipeを使ってPIDを見つけることができます。

+0

これは動作します。ありがとうダン!少し複雑ですが... – dawnoflife

+0

あなたは大歓迎です。私はそれが私が予想した以上に複雑であることに同意します。 –

0

popenのは、あなたが開かれたプロセスを強制終了させますが、それはなど、ファイルを保存するには、Windows上の

p = subprocess.Popen(['notepad', 'tmp.txt']) 
#later 
p.kill() 
+0

'.open'で非.exeファイルを開くことはできますか? – dawnoflife

+0

WindowsError:[エラー193]%1は有効なWin32アプリケーションではありません –

0

os.startfile()で何かを起動するようにWindowsに依頼すると、作成されたプロセスを処理しません。これは、基になるShellExecute()関数が作成されたプロセスへのハンドルを返さないためです。これは、すべてのアクションがプロセスを実際に作成するわけではないためです(インプロセスCOMサーバーやその他のエソテリアなど)。

関連する問題