试过用sleep()来通过延时来执行。
在网上找了下为了确保Runtime.getRuntime().exec()执行结束再执行下一步呢,注意到Runtime.exec()指令返回了一个Process对象。通过Process.WorkFor();来得到程序完成后在退出。
java.lang.Process process = java.lang.Runtime.getRuntime().exec("");
try {
process.waitFor();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Process的方法waitFor()介绍,取自API文档:
waitFor
public abstract int waitFor()
throws InterruptedException导致当前线程等待,如果必要,一直要等到由该 Process 对象表示的进程已经终止。如果已终止该子进程,此方法立即返回。如果没有终止该子进程,调用的线程将被阻塞,直到退出子进程。
返回:
进程的出口值。根据惯例,0 表示正常终止。
抛出:
InterruptedException - 如果当前线程在等待时被另一线程 中断,则停止等待,抛出 InterruptedException
java 使用Runtime.getRuntime().exec执行
- m_process.waitFor()总是返回1
- 0 表示命令执行成功
- 1 表示命令语法错误
- 2 表示命令执行错误