opening stdin, stdout & stderr as pipes

Simon Weatherill
Tue Sep 29 19:49:00 GMT 1998

I'm trying to read output from a pipe, but since I also need to be able to read stderr separately, I can't use popen().  Instead, I have fork()'d and execl()'d after closing the 3 standard files and dup'ing pipes to them.

This works fine under UNIX (I've tried 5 different ones), but the output from the commands I'm exec'ing is disappearing.  Even if I leave stdout alone and swap stdin, I *still* lose stdout!  Does anyone know what's going on?

I've searched the archives here, but haven't found anything except an example of a piped command using Windows' _pipe() and _spawnlp() functions (posted on 6/11/98).  I'd rather use the sequence that works under UNIX, but I'll try anything.

Simon Weatherill

Free e-mail group hosting at
For help on using this list (especially unsubscribing), send a message to
"" with one line of text: "help".

More information about the Cygwin mailing list