|
Hi,
using pty.spawn() it seems that stderr output of the spawned process is directed to stdout. Is there a way to keep stderr separate and only direct stdin and stdout to the pty? TIA, w best regards, Wilbert Berendsen -- http://www.wilbertberendsen.nl/ "You must be the change you wish to see in the world." -- Mahatma Gandhi -- http://mail.python.org/mailman/listinfo/python-list |
|
In article <[hidden email]>,
Wilbert Berendsen <[hidden email]> wrote: > Hi, > > using pty.spawn() it seems that stderr output of the spawned process is > directed to stdout. Is there a way to keep stderr separate and only direct > stdin and stdout to the pty? There is, of course. First, you have to decide where you want unit 2 ("stderr") to go, and then get the spawned process to redirect it there. If a disk file will do, then your question is just "how do I redirect error output to a disk file, in ___" (fill in the blank with language used to implement the spawned process - UNIX shell? Python? C?) More likely, you want the spawned process' error output to go wherever the parent's error output was going. This is a little trickier. Ideally, your spawned shell script can conveniently take a new parameter that identifies the new file descriptor unit number for error output. In this case, use fd2 = os.dup(2) to get a new duplicate, add a parameter like -e str(fd2), and in the spawned process, redirect from that unit - in UNIX shell, exec 2>&$fd2 Or you could use an environment variable to identify the backup error unit, if the command line parameter option isn't available for some reason. Donn Cave, [hidden email] -- http://mail.python.org/mailman/listinfo/python-list |
|
Op vrijdag 11 april 2008, schreef Donn Cave:
> More likely, you want the spawned process' error output to go wherever > the parent's error output was going. This is a little trickier. I ended up writing a small script that basically reimplements fork() from the pty module, where then STDERR is not dup'ed to the pty. I'm currently trying to combine subprocess.Popen with pty.openpty ... tx, Wilbert Berendsen -- http://www.wilbertberendsen.nl/ "You must be the change you wish to see in the world." -- Mahatma Gandhi -- http://mail.python.org/mailman/listinfo/python-list |
|
Op zaterdag 12 april 2008, schreef Wilbert Berendsen:
> I'm currently trying to combine subprocess.Popen with pty.openpty ... which succeeded :-) http://code.google.com/p/lilykde/source/browse/trunk/runpty.py?r=314 it seems to work :-) thanks, Wilbert Berendsen -- http://www.wilbertberendsen.nl/ "You must be the change you wish to see in the world." -- Mahatma Gandhi -- http://mail.python.org/mailman/listinfo/python-list |
| Powered by Nabble | Edit this page |
