我正在尝试在挂起的Solaris上执行以下命令。
swmml -l /tmp/swmmlLog.txt -n N1 -e DISPLAY-M3UA-LSET;
; swmml - > perl脚本。
我试图清除流/关闭流。什么都行不通。我尝试了ProcessBBuilder
和Runtime.exec()
,但没有成功。
我们试图从流中读取。但是read方法本身就是悬空。 以下代码不打印任何内容。
while (true) {
String s = br.readLine ();
if (s == null) break;
System.out.println (s);
}
答案 0 :(得分:8)
你说你正在刷新并关闭流,但你是否完全阅读标准输出和标准错误的内容?
一个常见的问题是子进程阻塞,因为当父Java进程忽略消耗其输出时,它的标准错误管道会填满。