什么问题可能导致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手动成功运行,因此我们有信心该命令本身并没有问题。