use*_*094 3 java process batch-file
我使用以下代码来执行批处理文件:
java.lang.Runtime rt = java.lang.Runtime.getRuntime();
Process pr = rt.exec("MyBatch.bat");
Run Code Online (Sandbox Code Playgroud)
我的批处理文件需要一些时间来执行.我希望我的servlet进程等到批处理文件执行完成.我想在执行批处理文件后关闭命令提示符.我怎样才能做到这一点?
使用Process.waitFor()让您的线程等待批处理文件的执行完成.
java.lang.Runtime rt = java.lang.Runtime.getRuntime();
Process pr = rt.exec("MyBatch.bat");
pr.waitFor();
Run Code Online (Sandbox Code Playgroud)
你也可能想看看使用ProcessBuilder的,而不是Runtime.getRuntime().exec()如果你需要访问控制台的输出和/或输入.