从java程序调用unix shell?从java程序中读取和写入来自unix管道的稳定数据流

ssD*_*ssD 4 java unix named-pipes

我有两个问题

1)如何从java.runtime库调用unix shell来运行这样的命令

进程p = Runtime.getRuntime().exec(命令);

猫别名>偏见

2)如何从java读取和写入来自unix管道的稳定数据流.我是否必须将所有系统调用(例如开放读取写入管道)

我基本上想要复制这个命令

猫别名>偏见

稳定的数据流将来自java程序偏向而不是cat别名.

Isa*_*iah 6

从JDK7开始,有一种方便的方法:

ProcessBuilder pb = new ProcessBuilder("cat", "alias");
File bias = new File("bias");
pb.redirectOutput(Redirect.appendTo(bias));
pb.start();
Run Code Online (Sandbox Code Playgroud)

参考:ProcessBuilder#redirectOutput