我试图运行一个需要很长时间才能在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程序不会停止运行 –
如果进程有有用的输出来衡量其进度,请尝试重定向其输出,如我在答案中所示。 –