在Java中,Process.waitFor()
方法用于等待與此進程關聯的子進程終止,并返回子進程的退出值。換句話說,它暫停當前線程,直到子進程執行完畢。
該方法返回一個整數值,表示子進程的退出狀態。如果子進程正常終止,則返回值為0;如果子進程異常終止,則返回非零值。
Process.waitFor()
方法通常與Process.exitValue()
方法一起使用,后者用于獲取子進程的退出值。例如,可以通過以下方式使用waitFor()
和exitValue()
方法:
Process process = Runtime.getRuntime().exec("some_command");
int exitValue = process.waitFor();
System.out.println("子進程的退出值為:" + exitValue);
在上述代碼中,Runtime.getRuntime().exec("some_command")
將創建一個新的進程來執行給定的命令。然后,waitFor()
方法將等待子進程執行完畢,并返回退出值。最后,退出值將被打印出來。
需要注意的是,waitFor()
方法會導致當前線程阻塞,直到子進程的執行完畢。如果不希望當前線程被阻塞,可以使用ProcessBuilder
類創建進程,并使用start()
方法啟動進程。然后,可以使用Process.waitFor()
方法等待子進程執行完畢。這種方式不會阻塞當前線程的執行。