Java 处理子进程

标签 java process

我有一个简单的脚本,它使用 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/

相关文章:

java - 如何将多个 Jar 文件组合成一个可交付的 Jar?

java - 没有提交 Ignite CacheStoreAdapter

java - 如何使用 Cloudera CDH4 和 Maven 获取正在运行的 Spring-Data-Hadoop 项目

C进程和fork进程

swift - 如何在 swift 中修改 shell 环境变量?

java - 如何在自己的类中模拟 ConcurrentModificationException?

java - ArrayList 与 LinkedList 的性能因机器而异?

windows - 进程 ID 和进程句柄之间有什么区别

c++ - 如何保证在进程退出或在c++中被杀死时执行某些代码?

emacs - 使用Emacs和Gdb设置断点,为什么提示总是 "Current buffer has no process"?