| | Runtime.exec() stdout/stderr lost after execvp() in C program? Hello, I have a C program that is printing one line of text to stdout, then it is replacing the current process with a new one using execvp(), and then the new program is printing many lines of text to stdout. When I execute the program in a console (Linux), I can see the line printed by the first process followed by the lines printed by the second process. But when I run the program using Runtime.exec(), the line printed by the first process seems to be thrown away, actually everything the first process writes to stdout gets lost. The first line that can be read from Process' InputStream is the one printed by the second process. This behaviour is consistent with JDK 1.3.1, 1.4.2 and 1.5.0 RC, so I assume this is not a bug. My question is, why is it not possible to read the text written by the first process before execvp()? Is there a way to make that work? I could provide very simple sample code if needed. |

