java - 在 Java 7 中使用 ProcessBuilder 构建流程管道

标签 java pipe processbuilder

我一直在尝试弄清楚如何使用新的 ProcessBuilder 在 Java 中管理一些进程。我找不到一个合适的例子来说明我想做什么,当我尝试自己做的时候,这个过程就会挂起。我希望有一个非常简单的代码示例,它运行的等效于 cat test.txt | wc,但不是通过 shell。

--更新--

好吧,澄清一下。我知道有一些方法可以通过读写流来模拟管道。我想知道这是否是由 redirectInput 以某种自动方式完成的和 redirectOutput Java 7 中引入的方法。

最佳答案

在这种情况下你不需要管道。

"grep bla test.txt"

但是假设你需要一个管道,你需要使用像 bash 这样的 shell

"/bin/bash", "-c", "grep foo text.txt | grep bar"

关于java - 在 Java 7 中使用 ProcessBuilder 构建流程管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8243157/

相关文章:

java - 收到错误 - 打开套接字时出错 : java.net.SocketException:我的应用程序中打开的文件太多

java - 如何在 Windows 中的 ProcessBuilder java 中设置 PATH 环境变量

java - Linux 从 Java 控制台应用程序中杀死 Java 进程

java - 在某个点将 Bean 插入列表

java - Java急切的单例创建线程安全吗?

c - 使用 fdopen 时文件描述符错误?

c++ - 如何正确启动进程并转发 stdin/stdout/stderr?

java - ProcessBuilder执行后加载属性

java - 如何解决 : Can not find the tag library descriptor for "http://java.sun.com/jsp/jSTL/core"

c - 将命令输出重定向到文件时文件描述符错误