我正在尝试使用运行时exec连续运行各种命令。我创建了一个getRuntime方法的实例,并使用相同的实例,我连续调用不同的命令,但它们都同时执行。如果运行时exec没有阻塞,那么在第一个命令完成后执行第二个命令的好方法是什么?
Runtime runTime = Runtime.getRuntime();
runTime.exec(new String[]{"sh", "-c", "some command"});
runTime.exec(new String[]{"other command"});
runTime.exec(new String[]{"sh","-c","final command"});
答案 0 :(得分:2)
我会使用waitFor
。
runTime.exec(new String[]{"sh", "-c", "some command"}).waitFor();
runTime.exec(new String[]{"other command"}).waitFor();
runTime.exec(new String[]{"sh","-c","final command"}).waitFor();
答案 1 :(得分:1)
您需要使用waitFor():
Process p = runTime.exec(...)
int exitValue = p.waitFor()
System.out.println("Exit value: " + exitValue;
洗涤重复冲洗