Java process.waitfor () не ждетJAVA

Программисты JAVA общаются здесь
Anonymous
Java process.waitfor () не ждет

Сообщение Anonymous »

Я следую за книгой на Java 'Java: Полная ссылка, 11 -е издание », которая имеет следующий код < /p>
class ExecDemoFini {
public static void main(String args[]) {
Runtime r = Runtime.getRuntime();
Process p = null;

try {
p = r.exec("notepad");
p.waitFor();
} catch(Exception e) {
System.out.println("Error executing notepad.");
}
System.out.println("Notepad returned " + p.exitValue());
}
}
< /code>
Согласно книге, эта программа, когда запускается в среде Windows, должна ждать, пока Блокнот завершится. Но это не так. Он немедленно возвращает код выхода 0. Я читал в другом посте, который имел аналогичный вопрос, возможно, процесс, который начинается (в данном случае, блокнот), он создает другой подпроцесс, а затем заканчивается. Это случай здесь? Это то, как работает информация? Если нет, я хочу знать, почему этот пример не работает на моем компьютере. Все остальные примеры были точными до сих пор.
Я использую Windows 11 и OpenJDK версии 11.0.0.2.

Подробнее здесь: https://stackoverflow.com/questions/796 ... s-not-wait

Вернуться в «JAVA»