Windows-Version von Python 2.6.4: Gibt es eine Möglichkeit festzustellen, ob subprocess.Popen () bei Verwendung von shell = True fehlschlägt?
Popen () schlägt fehl, wenn Shell = False
ist %Vor%Aber wenn Shell = True ist, scheint es keine Möglichkeit zu geben festzustellen, ob ein Popen () - Aufruf erfolgreich war oder nicht.
%Vor%Ideen geschätzt.
Grüße, Malcolm
returncode
funktioniert, obwohl es None
ist, bis Sie p.poll()
aufgerufen haben. poll()
selbst gibt den Fehlercode zurück, so dass Sie einfach
Im ersten Fall startet es nicht, im zweiten Fall startet es erfolgreich die Shell, die wiederum die Anwendung nicht ausführen kann. Ihr Prozess wurde also korrekt gestartet, verlassen und wartet darauf, dass Sie sich nach seinem Beendigungscode erkundigen. Also, die Sache ist, wenn Ihre Shell oder Umgebung (z. B. kein Speicher) völlig gebrochen ist, gibt es keine Möglichkeit Popen
selbst kann fehlschlagen .
Sie können also sicher .poll()
und .wait()
darauf setzen, um all die traurigen Nachrichten zu bekommen.
Tags und Links python popen subprocess