小编rag*_*oks的帖子

从java Runtime.exec读取流

我有以下代码片段:

Process proc = runtime.exec(command);
errorGobbler = new ErrorStreamGobbler(proc.getErrorStream(), logErrors, mdcMap);
outputGobbler = new OutputStreamGobbler(proc.getInputStream(), mdcMap);
executor.execute(errorGobbler);
executor.execute(outputGobbler);
processExitCode = proc.waitFor();
Run Code Online (Sandbox Code Playgroud)

gobblers Runnable使用a BufferedReader来读取执行过程的输入和错误流.虽然这大部分时间都有效,但我偶尔会看到窗口(约2分钟左右),我得到的processExitCode是0,表示正常终止,但输入和错误流中没有任何内容 - 甚至没有指示结束-流.

就像我之前说过的那样,这种情况大部分时间都有效,但这种失败每隔一段时间就会发生 - 我完全感到困惑.有任何想法吗?

碎布

java inputstream runtime.exec

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

inputstream ×1

java ×1

runtime.exec ×1