Hier ist der Python-Code, um ein beliebiges Kommando auszuführen, das seine stdout
Daten oder lösen bei Exit-Codes ungleich Null eine Ausnahme aus:
proc = subprocess.Popen(
cmd,
stderr=subprocess.STDOUT, # Merge stdout and stderr
stdout=subprocess.PIPE,
shell=True)
communicate
wird verwendet, um auf das Ende des Prozesses zu warten:
stdoutdata, stderrdata = proc.communicate()
En subprocess
Modul unterstützt keine Zeitüberschreitung - die Möglichkeit, einen Prozess, der länger als X Sekunden läuft, zu beenden -, daher, communicate
kann ewig dauern, bis es läuft.
Was ist die einfachste Wie lassen sich Zeitüberschreitungen in einem Python-Programm implementieren, das unter Windows und Linux laufen soll?