[Python-de] Re: popen deadlock

M.-A. Lemburg mal at lemburg.com
Wed Aug 15 15:14:02 EDT 2001


Carl Im wrote:
> 
> Hallo zusammen,
> ich kriege das immer noch nicht in den Griff (auf win32). Rene hat mir
> geschrieben, dass eine pipe (verbunden mit stdout) solange offen bleibt, wie der
> Filedescriptor benutzt wird. Leider kann ich den Start eines Child-Processes,
> innerhalb meines scriptes dessen stdout ich brauche,  nicht  verhindern.
> Dieser Prozess terminiert nicht von alleine und blockiert stdout . 

Das tut er allerdings nur solange stdout offen ist. sys.stdout.close()
sollte den FD wieder freigeben.

> Wie kann man
> diese ganze stdout/stderr Geschichte in einem Thread oder sonst wie
> realisieren, damit man die Kontrolle behält, auch wenn eine pipe blockiert ist.
> Hat jemand einen Tipp für mich
> Danke schon mal...

Pipes unter Windows funktionieren eigentlich nur dann einigermaßen
sorgenfrei, wenn Du die APIs aus win32pipe (Teil des Win32-Packacges von
Mark Hammond; Download z.B. bei ActiveState) benutzt.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Consulting & Company:                           http://www.egenix.com/
Python Software:                        http://www.lemburg.com/python/




More information about the Python-de mailing list