Я пытаюсь выполнить исполняемый файл Windows, используя следующий код Java:
Process process = new ProcessBuilder().command(path_to_exe).start();
Thread.sleep(5000);
if (process.isAlive()) {
// print 'alive'
} else {
// print 'not alive'
}
Я ожидаю, что приложение будет готово через 5 секунд, поэтому sleep
.Но при первом запуске приложение запускается через 5 секунд;похоже, что process
тоже спит.
Мне нужно запустить process
в цикле (всего 4 раза), и это наблюдение происходит только для первой итерации, только первый раз not alive
выводится из всех 4 прогонов.
Меня немного смущает это поведение.