我有一个简单的脚本,它使用 ProcessBuilder 将输出写入控制台。 OutputStreamWriter
请参阅:
Java Process with Input/Output Stream
较早的线程。我相信我的问题在于生成了一个子进程并且初始的父进程被终止。导致 OutputStreamWriter
抛出 java.io.IOException:损坏的管道异常
。鉴于应用程序正在生成第二个进程,我如何将我的 OutputStreamWriter 连接到这个新进程?包括能够读回它生成的输出?这在 Java 中可能吗? Surly java 应该能够跟踪生成的进程。
谢谢
最佳答案
您正在调用waitFor()吗?在你正在运行的进程上?这应该确保你的 parent 不会在 child 之前完成。您可能还想查看commons exec ,这是一个开源库,旨在让您在 Java 中运行单独的进程时更轻松。
关于Java 处理子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3645889/