If I start a process via Java's ProcessBuilder class, I have full access to that process's standard in, standard out, and standard error streams as Java InputStreams
and OutputStreams
. However, I can't find a way to seamlessly connect those streams to System.in
, System.out
, and System.err
.
It's possible to use redirectErrorStream()
to get a single InputStream
that contains the subprocess's standard out and standard error, and just loop through that and send it through my standard out—but I can't find a way to do that and let the user type into the process, as he or she could if I used the C system()
call.
This appears to be possible in Java SE 7 when it comes out—I'm just wondering if there's a workaround now. Bonus points if the result of isatty()
in the child process carries through the redirection.