"Utilisation de ProcessBuilder pour la redirection de sortie"
<p>J'essaie de rediriger la sortie d'un processus démarré par ProcessBuilder à l'aide du code suivant : </p>
<pre class="brush:php;toolbar:false;">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);
Processus p = pb.start();</pre>
<p>Mais l'opération a échoué et a généré une exception : </p>
<blockquote>
<p>Exception dans le fil de discussion "principal"
java.io.IOException : impossible d'exécuter
programme
"/monScript>>
/monFichierJournal
2>&1 <& - & : java.io.IOException :
erreur = 2, aucun fichier ou répertoire de ce type sur
java.lang.ProcessBuilder.start(ProcessBuilder.java:460)</p>
</blockquote>
<p>Quand je passe simplement "/myScript", cela fonctionne bien. </p>
<p>Le script est en Perl, des suggestions/commentaires sur les raisons de son échec ? </p>
<p>J'ai essayé de les transmettre en tant que paramètres distincts comme <code>new ProcessBuilder("/myScript",">>","/myLogFile")</code> et cela a fonctionné, mais ne sera pas redirigé vers log et les envVars ne seront pas non plus acceptés. </p>