区分组合stdout和stderr中的流

时间:2016-06-22 22:46:28

标签: java bash stdout processbuilder stderr

当我通常使用ProcessBuilder生成一个新进程时,我知道我可以通过获取相应的流并等待进程完成来单独获取stdout和stderr。在某些情况下,这会挂起。

我决定将两个流组合起来以避免这个问题。

ProcessBuilder builder = new ProcessBuilder().command(parsedCommand);
builder.redirectErrorStream(true);

Process proc = builder.start();
String out = MyStringBuilder.getStreamOutput(proc.getInputStream());
proc.waitFor();

我不确定如何识别每个流。当我通过将输出重定向到文件来检查某些bash命令的stderr(例如," ls * .fakefile")时,输出看起来与我在stdout中得到的相同。

通常有哪些方法可以区分单输出内部的流?

0 个答案:

没有答案