"使用ProcessBuilder进行输出重定向"
P粉517090748
P粉517090748 2023-08-24 20:26:08
0
2
354
<p>我正在尝试使用以下代码将ProcessBuilder启动的进程的输出重定向:</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); Process p = pb.start();</pre> <p>但是它失败了,抛出异常:</p> <blockquote> <p>Exception in thread "main" java.io.IOException: Cannot run program "/myScript >> /myLogFile 2>&1 <& - &": java.io.IOException: error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)</p> </blockquote> <p>当我只传递"/myScript"时,它正常工作。</p> <p>脚本是perl,对于为什么它失败的任何建议/评论?</p> <p>我尝试将它们作为单独的参数传递,例如<code>new ProcessBuilder("/myScript",">>","/myLogFile")</code>,它可以执行,但不会重定向到日志文件,也不会接受envVars。</p>
P粉517090748
P粉517090748

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!