3
如何讓我的java父進程等待子進程完成。我曾嘗試與runtime.exec
與processBuilder.pb
:子進程既不會在Windows中完成也不會中止?
String cmd = "ffmpeg -i input.vob output.mp4"
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(cmd);
proc.waitFor();
這正常工作與小的輸入文件(比如小於10 MB)。如果我給較大的輸入文件,那麼程序將被掛起。輸出文件將被部分創建,文件創建將被掛起,控制將不會返回。即使proc.join(10000);
也沒有給出任何有用的結果。這裏父進程在子進程(ffmpeg)完成之前終止。
如何克服這個問題?
讀取和執行*所有*建議[當的Runtime.exec()不會(http://www.javaworld.com/article/2071275/核心的Java /時的運行時,EXEC ---韓元t.html)。然後忽略它是指'exec(..)'並使用'ProcessBuilder'來構建'Process'。還要將'String args'分解爲'String [] args'來解釋包含空格的參數。 – 2014-09-04 15:04:50