Java中的Process类提供了waitFor()方法来等待子进程的完成。该方法会阻塞当前线程,直到子进程完成执行。
下面是waitFor()方法的使用示例:
public class Main { public static void main(String[] args) { try { // 执行命令 Process process = Runtime.getRuntime().exec("your_command"); // 等待子进程完成执行 int exitCode = process.waitFor(); // 输出子进程的退出码 System.out.println("子进程退出码:" + exitCode); } catch (Exception e) { e.printStackTrace(); } } }
在上面的示例中,首先通过Runtime.getRuntime().exec(“your_command”)方法执行一个命令,并返回一个Process对象。然后调用waitFor()方法等待子进程的完成。最后获取子进程的退出码并输出。
需要注意的是,waitFor()方法会阻塞当前线程,直到子进程完成。如果子进程一直未完成,那么当前线程将一直阻塞。所以在实际使用中,可以考虑使用线程来执行子进程,这样可以避免阻塞主线程。