Java处理子进程

我有一个简单的脚本,使用ProcessBuilder将输出写入控制台。 和OutputStreamWriter见:

带输入/输出流的Java进程

一个早期的线程。 我相信我的问题在于产生子进程并且初始的父进程被终止的事实。 导致OutputStreamWriter抛出java.io.IOException: Broken pipe exception 。 鉴于应用程序正在生成第二个进程,如何将OutputStreamWriter连接到此新进程? 包括能够读回它产生的输出吗? 这在Java中甚至可能吗? Surly java应该能够遵循产生的过程。

谢谢

你在正在运行的进程上调用waitFor()吗? 这应该确保你的父母没有在孩子面前完成。 您可能还想查看commons exec ,它是一个开源库,旨在使您在Java中运行单独的进程时更轻松。