Я начала процесса окна (писал в C++, но у меня нет источников) из Java-кода следующим образом:Почему Process.waitFor() никогда не возвращается?
Process p1 = Runtime.getRuntime().exec(cmdAndParams);
p1.waitFor();
Моя проблема заключается в том, что метод Waitfor() никогда не кончается. Таким образом, я попытался запустить процесс в простой оболочке, и он корректно заканчивается печатью в оболочке (стандартный вывод, я думаю).
Таким образом, я решил создать и запустить поток, считывающий стандартный вывод, даже если мне сейчас не нужны эти выходы. Это устранило проблему.
Итак, мой вопрос следующий: Является ли это решение «стандартом Java для запуска и ожидания внешних процессов с выводами», или это означает, что есть проблема где-то в собственном процессе? Если такая проблема существует, то может возникнуть проблема программирования на языке C++?
Спасибо. Ответ был в Javadoc, но на уровне класса, и я читал только инструкции exec и waitFor doc. В следующий раз я также прочитаю класс doc ;-) –