У меня есть java-программа, которая должна запускать файл bat, а затем выходить с кодом успеха 0.
Код по сути выглядит так
Runtime.exec(....);
System.exit(0);
В 99,8% случаев это работает идеально. Но очень спорадически файл bat не запускается.
Моя теория заключается в том, что в некоторых системах Runtime.exec не может завершить создание до запуска System.exit. Это вероятно/возможно?
Я просмотрел исходный код Runtime.exec, но он использует нативный код, чтобы делать интересные вещи.
ИЗМЕНИТЬ
Основываясь на ответах до сих пор, я должен заявить, что файл .bat выполняет другой процесс Java с использованием javaw. Я могу подтвердить, что окончание 1-го процесса Java НЕ убивает 2-й запуск в файле bat.
Возможно ли, что когда возникает проблема, файл bat не породил второй процесс java до того, как произошел System.exit? Возможно, это все-таки не проблема Runtime.exec?
ИЗМЕНИТЬ2
Я не могу дождаться завершения 2-го процесса, он может работать бесконечно, и мой 1-й процесс должен завершиться.