【发布时间】:2011-05-13 01:23:04
【问题描述】:
我正在尝试使用以下代码重定向在 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");
pb.redirectErrorStream(true);
Process p = pb.start();
但是异常失败了
线程“main”中的异常 java.io.IOException:无法运行 程序 "/我的脚本 >> /我的日志文件 2>&1
当我通过“/myScript”时它工作正常
脚本是 perl,关于它为什么失败的任何建议/评论?
我尝试将所有这些作为单独的参数传递,例如new ProcessBuilder("/myScript",">>","/myLogFile"),它会执行,但不会重定向到日志文件,也不需要 envVars。
【问题讨论】:
标签: java process processbuilder