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()方法會阻塞當前線程,直到子進程完成。如果子進程一直未完成,那么當前線程將一直阻塞。所以在實際使用中,可以考慮使用線程來執行子進程,這樣可以避免阻塞主線程。