【发布时间】:2011-07-13 05:26:52
【问题描述】:
什么样的问题会导致 Java 的 ProcessBuilder.start 方法返回 IOException 并带有错误=5 的注释?
具体来说,我们已经看到一个远程客户系统运行一些 Java 代码,类似于...
ProcessBuilder pb = new ProcessBuilder(cmdArray);
pb.redirectErrorStream(true);
Process p = pb.start();
...抛出这样的异常...
java.io.IOException: CreateProcess: C:\example\example.exe argument1 argument2 error=5
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at example_code_above
我们已经确认异常中提到的命令“C:\example\example.exe argument1 argument2”可以通过 cmd.exe 手动成功运行,因此我们确信该命令本身没有损坏。
【问题讨论】:
-
错误 5 可能是“拒绝访问”。 (不确定)
-
我在 android stackoverflow.com/questions/39245238/…也有同样的问题