ProcessBuilder redirigiendo salida
stoy tratando de redirigir la salida de un proceso iniciado con la ayuda de ProcessBuilder usando el siguiente código
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();
Pero falló con excepción
Exception en el subproceso "main" java.io.IOException: No se puede ejecutar el programa "/ myScript >> / myLogFile 2> & 1 <& - &": java.io.IOException: error = 2, No existe dicho archivo o directorio en java. lang.ProcessBuilder.start (ProcessBuilder.java:460)
Funciona bien cuando paso "/ myScript"
Script es perl, ¿alguna sugerencia / comentario sobre por qué está fallando?
Traté de pasarlos todos como argumentos separados comonew ProcessBuilder("/myScript",">>","/myLogFile")
, se ejecuta pero no redirige al archivo de registro y tampoco toma envVars.