我正在使用 ProcessBuilder 运行可执行文件。它工作正常。现在,我必须将第一个可执行文件的输出提供给第二个可执行文件。例如:exe1 arg1 arg2 | exe2 arg3 并获取其 InputStream 并打印到标准输出。
所以我正在为包含 exe1 arg1 arg2 | 的内容编写一个小 script.sh exe2 arg3
以下在java中工作正常:
ProcessBuilder pb=new ProcessBuilder();
pb.command("/bin/sh","/home/biadmin/Desktop/script.sh");
Process p=pb.start();
InputStream in=p.getInputStream();
//输出成功打印到标准输出。
但是当我在hadoop环境中做同样的事情时。我在输入流中没有得到任何东西。我需要在 hadoop 中做同样的事情。任何建议/建议表示赞赏。
谢谢。