[Python-de] Re: alt_popen deadlock

Carl Im carlim at gmx.de
Thu Aug 16 10:59:52 EDT 2001


Hallo und Danke für die Antwort, 

ich verwende die win32 module. Um den output meiner .bat Datei zu bekommen
habe ich "runproc.py" etwas modifiziet. Es liefert mir ein handle zu stdout,
stderr sowie die process id. Die .bat wird aber nur abgearbeitet , wenn ich
stdout auslese und dann hängt mein script eben und kommt nicht zurück???
sys.stdout.close() geht hier also nicht. 
Mit einer kleinen Erweiterung kann ich mir alle child Prozesse die meine
.bat startet besorgen. Meine Idee ist daher, stdout in einem thread auszulesen
und gleichzeitig die Child-Prozesse zu überwachen, bis alle, für mich
relevanten Prozesse, terminiert sind. Dann kann ich stdout schließen. 
Gute Idee ??? 
Danke Carl
PS Gibts eine Alternative zu select unter win32 ?
PPS Entschuldigt die ganzen win32 Fragen...hier sind alle UNIX Kenner.  




> 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/
> 
> _______________________________________________
> Python-de maillist  -  Python-de at starship.python.net
> http://starship.python.net/mailman/listinfo/python-de
> 

-- 
Aufgepasst - jetzt viele 1&1 New WebHosting Pakete ohne
Einrichtungsgebuehr + 1 Monat Grundgebuehrbefreiung!
http://puretec.de/index.html?ac=OM.PU.PU003K00736T0492a




More information about the Python-de mailing list