Your code makes the native app inherit native stdout/err process descriptors, you need to pipe the output from your native app to Java and then redirect the output to wherever you wish (byte array for example).
In other words, Redirect.PIPE + pipe code. Dawid On Thu, May 28, 2015 at 12:43 PM, Weijun Wang <[email protected]> wrote: > I am writing something like this > > ByteArrayOutputStream bout = new ByteArrayOutputStream(); > System.setOut(out); > > System.out.println("Hello"); > > ProcessBuilder pb1 = new ProcessBuilder("./native-app"); > pb1.redirectOutput(ProcessBuilder.Redirect.INHERIT); > > pb1.start(); > > Now "Hello" no longer shows on screen, but the output of "native-app" still > shows up there. What else shall I do? > > This is Ubuntu 14.04.2. > > Thanks > Max
