Nicolas Fleury <[EMAIL PROTECTED]> writes: > Hi, > I want to use the subprocess module (or any standard Python module) to > run a process: > - which stdout and stderr can each be redirected to any file-like object > (no fileno function). > - can be cancelled with a threading.Event.
> My problem is that the subprocess.Popen constructor doesn't seem to > support file-like objects (only file objects with fileno()). > If I use subprocess.PIPE, I have the problem that the read functions of > of the subprocess objects stdout and stderr are blocking (and I want to > redirect them to different file-like objects, so I definitely need > non-blocking access). How am I supposed to do it? You might take a look at my asyncproc module, available at http://www.lysator.liu.se/~bellman/download/asyncproc.py Specifically the Process class. It doesn't do exactly what you want, but maybe you can use it as inspiration for doing it yourself. It requires the subprocess module, but I have successfully used it under Python 2.3.2 with subprocess installed locally. -- Thomas Bellman, Lysator Computer Club, Linköping University, Sweden "Adde parvum parvo magnus acervus erit" ! bellman @ lysator.liu.se (From The Mythical Man-Month) ! Make Love -- Nicht Wahr! -- http://mail.python.org/mailman/listinfo/python-list