'Possible causes of java.io.IOException: CreateProcess error=5
What kind of problem(s) could cause Java's ProcessBuilder.start method to return an IOException with a note saying error=5?
Specifically, we've seen a remote customer system running some Java code along the lines of...
ProcessBuilder pb = new ProcessBuilder(cmdArray);
pb.redirectErrorStream(true);
Process p = pb.start();
...throw exceptions like this...
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
We have confirmed that the command noted in the exception, "C:\example\example.exe argument1 argument2" can be run successfully by hand via cmd.exe, so we are confident the command itself is not broken.
Solution 1:[1]
error=5
means one of:
1) file is not executable
2) file is not accessible
EDIT: wont throw exception3) the command (example.exe) exits with exit code 5
Solution 2:[2]
Alexandr is correct, it's Windows security that's not allowing that process to run, but that powershell command didn't work for me. here's what I did:
- Open up Windows explorer, and navigate to example.exe
- Right click on it and choose "Properties"
- Go to the "Security" tab and click the "Edit" button
- Select your username in the top box and in the bottom one give "Full Control" or at least "Read & Execute"
- Click OK to get rid of these boxes
Now your user can execute that program. Yay!
Solution 3:[3]
Sometimes this happens because the path you put in code is not correct. For windows put "\\"
as a path separator instead of "\"
For example change path to "C:\\example\\example.exe"
Solution 4:[4]
I have the same exception because of Windows UAC.
This can happen even if your account has administrator privileges.
To be able to run such command I had to use powershell to elevate privileges.
powershell start-process 'start.bat' -Verb RunAs
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Ryan Shillington |
Solution 3 | Bo Persson |
Solution 4 | Alexandr |