java.io.IOException 的可能原因:CreateProcess error=5
什么样的问题会导致Java的ProcessBuilder.start方法返回一个IOException,并带有一个注释,上面写着error=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手动成功运行,因此我们确信命令本身没有损坏。