Я реализую программу для компиляции и запуска других приложений. Мне было интересно, есть ли способ закончить программу, когда мое приложение обнаруживает, что есть проблема, например. бесконечная петля. Я попытался использовать process.Destroy(), но он убивает CMD не ту настоящую программу, которая имеет бесконечный цикл ...Как остановить выполнение программы с использованием другой программы Java
Ваша помощь очень ценится.
Вот часть моего кода:
synchronized (pro) {
pro.wait(30000);
}
try{
pro.exitValue();
}catch (IllegalThreadStateException ex)
{
pro.destroy();
timeLimitExceededflag = true;
System.out.println("NOT FINISHED123");
System.exit(0);
}
}
В основном я делаю мое приложение для вызова ЦМД с помощью ProcessBuilder. Этот код завершает CMD, но если он запускает программу с бесконечным циклом, приложение будет работать, что скажется на производительности моих серверов.
Являются ли ваши вопросы, связанные с параллелизмом (например, тупики?) –
Может быть, это поможет: http://stackoverflow.com/questions/15095819/how-to-kill-runtime-exec – Janos
Нет моей проблемы в том, что process.destroy завершает CMD, а не ту программу, которая имеет бесконечный цикл. – user2597012