Java Работа с дочерним процессом

У меня есть простой script, который записывает вывод на консоль с помощью ProcessBuilder. И OutputStreamWriter см.:

Процесс Java с потоком ввода/вывода

Предыдущий поток. Я считаю, что моя проблема связана с тем, что подпроцесс порожден и начальный процесс родителей убит. Результат в OutputStreamWriter, чтобы выбросить java.io.IOException: Broken pipe exception. Учитывая, что приложение порождает второй процесс, как я могу подключить свой OutputStreamWriter к этому новому процессу? Включая возможность считывать вывод, который он генерирует? Возможно ли это на Java? Уверенная java должна уметь следовать за порожденным процессом.

Спасибо

Ответ 1

Вы вызываете waitFor() в процессе, в котором работаете? Это должно гарантировать, что вы родитель не закончите перед ребенком. Вы также можете посмотреть commons exec, который представляет собой библиотеку с открытым исходным кодом, предназначенную для облегчения вашей жизни при запуске отдельных процессов на Java.