【问题标题】:Java Dealing with child ProcessJava处理子进程
【发布时间】:2011-04-08 10:27:22
【问题描述】:

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

Java Process with Input/Output Stream

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

谢谢

【问题讨论】:

  • 您是否正在尝试读取 child of a child 的输出? (直接孩子死在哪里?)
  • 我运行产生一个孩子的进程。我想获取这个新子进程的输出并写入它。

标签: java process


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 2020-02-27
    • 2019-06-08
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多