| Previous | Next |
| E2BIG | EBADF |
ENOEXEC
What it does and does not prove
ENOEXEC means that execution reached the format check and the system could not treat the target as a valid program image. Typical causes include a binary built for the wrong CPU architecture, a damaged or incomplete executable, a text file launched directly without a usable interpreter declaration, or a malformed script header.
It is distinct from ENOENT: the target was found. It is also different from ordinary execute-permission failures. Some higher-level launchers deliberately fall back to running text through a shell, so the visible behavior can vary by shell, runtime, or wrapper even when the underlying execution attempt failed with ENOEXEC.
How to investigate
- Identify the exact file passed to the execution API; wrappers may resolve a different path than the one shown to the user.
- Check architecture, file format, and whether the file was transferred or unpacked intact.
- For scripts, check the first line, interpreter path, line endings, and execute policy.
- Use a launcher that reports the original errno and does not silently replace it with a generic “command failed” message.
References
Looking for a different code? Search another status or error code.