我试图在挂起的Solaris上执行以下命令。


  swmml -l /tmp/swmmlLog.txt -n N1 -e DISPLAY-M3UA-LSET;
  
  ; swmml-> perl脚本。


我试图冲洗流/关闭流。什么都没用。我尝试同时使用ProcessBBuilderRuntime.exec(),但是没有成功。

我们试图从流中读取数据,但是read方法本身就挂了。
以下代码不打印任何内容。

 while (true) {
     String s = br.readLine ();
     if (s == null) break;
     System.out.println (s);
 }

最佳答案

您说要刷新和关闭流,但是您是否已完全读取标准输出和标准错误的内容?

一个常见的问题是子进程会阻塞,因为当父Java进程忽略使用其输出时,它的标准错误管道就会填满。

09-26 18:29