2016-07-19 31 views
3

Ich benutze Python 3.5 und Windows 7. Ich versuche, eine EXE-Datei zu öffnen und dann zu beenden. Es ist mir gelungen, es zu öffnen, aber ich kann es nicht schließen. Hier ist eine gekürzte Version meines Code:Python - Prozess kann nicht

from subprocess import Popen 

open = Popen(["filename"], shell = True, cwd = "path\to\file") 
open.terminate() 

ich auch open.kill versucht habe(), os.kill (open.pid, 0) und os.system ("TASKKILL/IM/F filename.exe "). Ich fand auch einen Beitrag, der vorschlägt, nicht Shell = True zu verwenden, aber ich war nicht in der Lage, Popen dazu zu bringen, ohne ihn zu arbeiten. Keine dieser Optionen gibt Fehler aus, sie schließen nur nicht die Datei, die ich geöffnet habe.

Ich habe ähnliche Fehler online gefunden, aber es scheint keine konkrete Lösung dafür zu geben. Die möglichen Lösungen, die ich gelesen habe (die am häufigsten aufgeführten), haben bei mir nicht funktioniert. Gibt es dafür eine Lösung?

Antwort

1

Es stellt sich heraus, Shell = False ist notwendig, damit dies funktioniert. Hier ist mein erfolgreicher Code:

open = Popen(["path\to\file\filename"]) 
open.terminate()