Look up shell and Unix process exit codes — 0 success, 1/2 errors, 126/127/128/255 special shell codes, the 128+N fatal-signal range (130 SIGINT, 137 SIGKILL, 139 SIGSEGV, 143 SIGTERM) and the BSD sysexits.h codes (64–78). Search, filter and copy. In your browser, free.

Every standard shell and Unix exit (return) code, explained. Everything runs in your browser from a built-in reference — nothing is sent to the server.

Code Meaning Category Description
No exit code matches your search.
Try a different number or name — for example 130, SIGSEGV, command not found or EX_CONFIG.

About Exit Codes Reference

The Exit Codes Reference explains the numeric status a shell or Unix process returns when it ends. It covers the full landscape: 0 for success, 1 and 2 for general errors, the special shell codes 126 (found but not executable), 127 (command not found), 128 (invalid exit argument) and 255 (out of range), the 128+N fatal-signal range, and the BSD sysexits.h codes 64–78.

The signal range is where most head-scratching happens: 130 means the process was interrupted with Ctrl+C (SIGINT), 137 means it was force-killed (SIGKILL — often the out-of-memory killer in containers), 139 is a segmentation fault (SIGSEGV) and 143 is a polite termination (SIGTERM). Each entry names the signal and explains what typically triggers it.

Search by number, signal or sysexits name, or plain-language meaning; filter by category — Success, General, Shell, Signal or sysexits.h — and copy any code with a click. Everything runs from a built-in reference in your browser.

How to use Exit Codes Reference

  1. Type an exit code (137), a name (SIGSEGV, EX_USAGE) or a phrase like “command not found” into the search box.
  2. Filter by category if needed: Success, General, Shell, Signal or sysexits.h.
  3. Read the entry’s meaning and description; signal-range entries also name the underlying signal.
  4. Copy the code for a bug report, monitoring rule or script comparison.

Frequently asked questions

It means the process was killed by signal 9 (SIGKILL), since 128 + 9 = 137. In containers and constrained environments the most common cause is the kernel’s out-of-memory killer terminating the process.

127 means the shell could not find the command at all — usually a typo or a PATH problem. 126 means the command was found but could not be executed, typically because it lacks execute permission or is not a runnable file.

In bash and other POSIX shells, echo $? immediately after the command prints its exit status. It is reset by every command you run, so read it before running anything else.

A BSD convention giving specific meanings to codes in that range — for example EX_USAGE (64) for a command-line usage error, EX_NOINPUT (66) for a missing input file and EX_CONFIG (78) for a configuration error. Mail systems and some CLI tools still use them.

Exit statuses are stored in a single byte, so anything above 255 wraps around — exit 256 is reported as 0, which looks like success. Stick to 0–255, and to 0–125 if you want to avoid clashing with the shell’s reserved codes.

Yes, entirely free. The whole reference is built into the page and searching, filtering and copying happen in your browser without any server requests.

Need help?
Found an issue with this tool? Let our team know.
Report an issue

Add this free tool to your own website — copy and paste the code below.