child = subprocess.Popen(command,
shell=True,
env=environment,
close_fds=True,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
bufsize=1,
)
subout = ""
with child.stdout:
for line in iter(child.stdout.readline, b''):
subout += line
logging.info(subout)
rc = child.wait()
einige Male (mit Unterbrechungen) das hängt für immer. nicht sicher, ob es hängt an iter(child.stdout.readline)
oder child.wait()
Python Subprozess.Popen hängend
i ps -ef
für den Prozess es POPENS und dieser Prozess nicht mehr existiert
meine Vermutung ist, dass es mit bufsize hat zu tun, so dass child.stdout.readline los ist für immer, aber ich habe keine Ahnung, wie es zu testen und wie dies geschieht intermittierend
I Alarm implementieren könnte, aber im nicht sicher, ob das angemessen ist, wie ich wirklich, ob der popen'd Prozess
nur langsam oder hängen sagen kippe lass uns ein Nehmen wir an, dass entweder child.stdout.readline oder wait() für immer hängen bleibt. Welche Aktionen könnte ich außer Alarm durchführen?
danke krank zu kommunizieren! – ealeon