process.waitFor()


waitFor:等待子進程執行結束,或者已終止子進程,此方法立即返回。
當RunTime對象調用exec方法后,jvm會創建一個子進程,該子進程與jvm建立三個管道連接:標准輸入流、標准輸出流、標准錯誤流。假設該子進程不斷向標准輸入流、標准輸出流寫數據,而jvm不讀取的話,會導致緩沖區塞滿而無法繼續寫數據,最終堵塞在waitFor這里。

 

現實遇到的情況:這里要一組cmd命令通過

 

Runtime.getRuntime().exec(cmd)

 

執行,現在遇到問題是,程序上是順序執行,但是在jvm中感覺就不是了,而是隨機執行,或者說不是按照順序執行,還在驗證;

 

而且,要執行的命令似乎是連續的不能正確執行,所以現在的解決辦法是寫了一個腳本去執行多條命令,或者取消這些命令之間的相互依賴性。

 

 

 

 

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM