Моя Java-программа использует ProcessBuilder (с redirectErrorStream установлено значение true) и имеет цикл, который запускает метод read входного потока процессов, который блокирует. Затем внешняя программа, которую я вызываю, останавливается, ожидая ввода и ввода. Теперь я хочу убить процесс. Разве это не выполняется (в отдельном потоке) вызовом метода уничтожения процесса и вызовом метода close входного потока, чтобы остановить блокировку метода чтения, чтобы мой исходный поток мог завершить свою жизнь?
Почему-то process.getInputStream().close()
блоков. Из JavaDoc я не понимаю, почему это может произойти. Кроме того, я не понимаю, почему javadoc говорит: «Метод close InputStream ничего не делает». ( ссылка на javadoc ) Может кто-нибудь объяснить это?
Спасибо: -)