2016-04-29 8 views
0

Ist es für Popen.communicate(timeout=2) möglich, TimeoutExpired zu erhöhen, obwohl ich behaupte, dass Popen.poll() is not None und Popen.wait(2) tut nicht eine Ausnahme auslösen?Subprozess: Kann communication() timeout, da wait() terminiert?

Edit: Die docs schlagen folgende Schnipsel zu verwenden:

proc = subprocess.Popen(...) 
try: 
    outs, errs = proc.communicate(timeout=15) 
except TimeoutExpired: 
    proc.kill() 
    outs, errs = proc.communicate() 

aber dies wird nur ProcessLookupError: [Errno 3] No such process erhöhen. Was sinnvoll ist, da ich den Prozess über poll und wait bereits beendet habe.

Antwort

Verwandte Themen