2010-10-05 83 views
0

我正試圖在掛起的Solaris上執行下面的命令。java.lang.Process.waitFor()掛起

swmml -l /tmp/swmmlLog.txt -n N1 -e DISPLAY-M3UA-LSET;

; swmml - > perl腳本。

我試圖刷新流/關閉流。沒有任何工作。我嘗試了ProcessBBuilderRuntime.exec()但沒有成功。

我們試圖從流中讀取數據,但讀取方法本身就是掛起的。 以下代碼不打印任何內容。

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

發佈非功能代碼,並記住要正確格式化。 – aioobe 2010-10-05 15:59:08

回答

8

你說你正在沖洗和關閉流,但你完全閱讀兩個標準輸出和標準錯誤的內容?

一個常見問題是子進程阻塞,因爲它的標準錯誤管道在父進程忽略消耗其輸出時填滿。