我試圖運行一個需要很長時間才能在java程序中完成的程序。 Java程序內部的程序輸出一個巨大的文件(大約4到6 GB之間)。我在主要方法中使用下面的代碼。在java程序中運行命令行程序
//get the runtime goinog
Runtime rt = Runtime.getRuntime();
//execute program
Process pr = rt.exec("theProgram.exe");
//wqit forprogram to finish
pr.waitFor();
我得到了一些錯誤:
- 當Java程序結束theProgram.exe不會停止有時當theProgram.exe已經結束
- java程序甚至從來沒有結束
- Program程序停止未完成,並且Java程序不停止。
的更多信息:
- 我用的cygwin在Windows7
請解釋一下你的了'theProgram.exe'意思站沒有完成 –
我的意思是,我知道預期的結果因爲我直接在命令行上運行它,但是當我在java程序中運行它時,它有時停止,並且我看不到相同的結果。在這些情況下,java程序不會停止運行 –
如果進程有有用的輸出來衡量其進度,請嘗試重定向其輸出,如我在答案中所示。 –