Java ProcessBuilder重定向输出
我试图使用以下代码重定向ProcessBuilder帮助启动的进程的输出Java ProcessBuilder重定向输出,java,process,processbuilder,Java,Process,Processbuilder,我试图使用以下代码重定向ProcessBuilder帮助启动的进程的输出 ProcessBuilder pb = new ProcessBuilder("/myScript >> /myLogFile 2>&1 <& - &"); Map<String, String> env = pb.environment(); env.clear(); env.put("var1", "val1"); env.put("var2", "val2"
ProcessBuilder pb = new ProcessBuilder("/myScript >> /myLogFile 2>&1 <& - &");
Map<String, String> env = pb.environment();
env.clear();
env.put("var1", "val1");
env.put("var2", "val2");
pb.redirectErrorStream(true);
Process p = pb.start();
ProcessBuilder pb=newprocessbuilder(“/myScript>>/myLogFile 2>&1>
/myLogFile
2> &1>“,“/myLogFile”)
,它执行,但不重定向到日志文件,也不接受envVars。Shell重定向运算符对。将命令放入shell脚本并执行,如图所示。或者,使用bash-c
,如图所示。正如您指定的,在Java7中,您可以继续使用ProcessBuilder,将唯一的可执行文件作为参数,并使用redirectInput()
redirectOutput()
和redirectError()重定向/截取其输出流
来自ProcessBuilder
类。是的,谢谢,看起来Java 7将具有显式指定重定向的功能。另请参见