Quick Reference Guide

The Ultimate Exit Code Encyclopedia

Stop guessing what 137 or 203 means. The most comprehensive reference for Linux, BSD, Systemd, and Protocol exit status.

Understanding Signals (128+n)

If an exit code is greater than 128, it often means the process was killed by a fatal signal. To find the signal number, subtract 128 from the exit code.

Code 137 - 128 = 9 (SIGKILL)Code 130 - 128 = 2 (SIGINT)

High Value Codes (>256)

Linux stores exit codes in 2-byte values. Bits 8-15 contain the actual code, while bits 0-6 represent the signal.

Code 32512 = 127 (Not Found)Calc: 32512 % 256

Standard / Unix

9 entries
0
0
Standard

Successful Termination

The command finished successfully.

Meaning

Standard success for Unix-like processes.

Quick Fix
  • No action required unless the script logic is incorrect.
#success#bash#standard
1
1
Standard

General Error

Generic failure when no specific exit code applies.

Meaning

Catch-all error used by many programs.

Quick Fix
  • Correct inputs or environment and retry.
  • Fix the underlying error reported by the tool.
#error#bash#catch-all
6
6
Standard

No Such Device or Address

Invalid device, address, or host.

Meaning

System call reported a bad device/address; some tools surface it as exit 6.

Quick Fix
  • Correct the target address.
  • Ensure the device or host is reachable.
#network#dns#device
134
134
Standard

Program Abort (SIGABRT)

Process aborted itself (SIGABRT).

Meaning

128 + SIGABRT (6) = 134.

Quick Fix
  • Fix the underlying bug or assertion.
  • Update dependencies that triggered the abort.
#signal#abort#sigabrt
136
136
Standard

Arithmetic Error (SIGFPE)

Erroneous arithmetic operation (SIGFPE).

Meaning

128 + SIGFPE (8) = 136.

Quick Fix
  • Guard against invalid math.
  • Fix overflow/underflow bugs.
#signal#math#sigfpe
137
137
Standard

Killed (SIGKILL)

Process killed by SIGKILL, often OOM.

Meaning

128 + SIGKILL (9) = 137.

Quick Fix
  • Increase memory limits or reduce usage.
  • Find memory leaks and cap resource usage.
#oom#sigkill#crash#kubernetes#docker
139
139
Standard

Segmentation Fault (SIGSEGV)

Segmentation fault (SIGSEGV).

Meaning

128 + SIGSEGV (11) = 139.

Quick Fix
  • Fix memory safety bugs.
  • Update or roll back native dependencies.
#segfault#sigsegv#crash#bug
143
143
Standard

Terminated (SIGTERM)

Process terminated by SIGTERM.

Meaning

128 + SIGTERM (15) = 143.

Quick Fix
  • Handle SIGTERM for graceful shutdown.
  • Increase stop timeout if cleanup needs more time.
#signal#termination#sigterm
255
255
Standard

Maximum Exit Code

Exit status 255, often used for fatal errors.

Meaning

Exit status wraps to 255 or indicates fatal failure (e.g., SSH).

Quick Fix
  • Fix the underlying fatal error.
  • Resolve SSH auth, DNS, or network issues.
#standard#wrap-around

Systemd Units

17 entries
200
200
Systemd

EXIT_CHDIR

Changing to working directory failed.

Meaning

Systemd could not enter WorkingDirectory=.

Quick Fix
  • Create the directory or update permissions.
#systemd#config#directory
201
201
Systemd

EXIT_NICE

Setting scheduling priority failed.

Meaning

Systemd could not apply Nice=.

Quick Fix
  • Use a valid nice level or adjust privileges.
#systemd#config#priority
202
202
Systemd

EXIT_FDS

Failed to manage file descriptors.

Meaning

Systemd could not close or set file descriptors.

Quick Fix
  • Raise FD limits or fix the service config.
#systemd#os
203
203
Systemd

EXIT_EXEC

Process execution failed.

Meaning

execve() failed for the configured command.

Quick Fix
  • Fix the path/permissions or install the binary.
#systemd#error#execution
204
204
Systemd

EXIT_MEMORY

Memory shortage.

Meaning

Systemd could not allocate required memory.

Quick Fix
  • Increase memory or reduce service footprint.
#systemd#oom#memory
205
205
Systemd

EXIT_LIMITS

Failed to adjust resource limits.

Meaning

Systemd could not apply Limit* settings.

Quick Fix
  • Use limits supported by the OS.
#systemd#config#limits
206
206
Systemd

EXIT_OOM_ADJUST

Failed to adjust OOM setting.

Meaning

Systemd could not apply OOMScoreAdjust=.

Quick Fix
  • Set a value between -1000 and 1000.
#systemd#config#oom
208
208
Systemd

EXIT_STDIN

Failed to set up standard input.

Meaning

StandardInput= is invalid or inaccessible.

Quick Fix
  • Fix input configuration or permissions.
#systemd#config#io
209
209
Systemd

EXIT_STDOUT

Failed to set up standard output.

Meaning

StandardOutput= is invalid or inaccessible.

Quick Fix
  • Fix output configuration or permissions.
#systemd#config#io
210
210
Systemd

EXIT_CHROOT

Failed to change root directory.

Meaning

RootDirectory= or RootImage= is invalid.

Quick Fix
  • Fix RootDirectory= or RootImage= values.
#systemd#config#chroot
214
214
Systemd

EXIT_SETSCHEDULER

Failed to set up CPU scheduling.

Meaning

Scheduling policy/priority is invalid or unsupported.

Quick Fix
  • Use supported scheduling values.
#systemd#config#cpu
216
216
Systemd

EXIT_GROUP

Failed to change group credentials.

Meaning

Configured group or supplementary group is invalid.

Quick Fix
  • Create the group or fix Group= settings.
#systemd#config#auth
217
217
Systemd

EXIT_USER

Failed to change user credentials.

Meaning

Configured user is invalid or missing.

Quick Fix
  • Create the user or fix User= settings.
#systemd#config#auth
225
225
Systemd

EXIT_NETWORK

Failed to set up network namespace.

Meaning

PrivateNetwork= could not be configured.

Quick Fix
  • Disable PrivateNetwork= or update the kernel.
#systemd#config#network
226
226
Systemd

EXIT_NAMESPACE

Failed to set up namespaces.

Meaning

Namespace restrictions are invalid or conflicting.

Quick Fix
  • Fix conflicting paths or namespace config.
#systemd#config#namespace
227
227
Systemd

EXIT_NO_NEW_PRIVILEGES

Failed to disable new privileges.

Meaning

Kernel does not support or rejects no_new_privs.

Quick Fix
  • Upgrade kernel or disable the setting.
#systemd#config#security
242
242
Systemd

EXIT_NUMA_POLICY

Failed to set NUMA policy.

Meaning

NUMA policy or mask is invalid or unsupported.

Quick Fix
  • Use valid NUMA settings or disable them.
#systemd#config#numa

BSD Sysexits

15 entries
64
64
BSD

EX_USAGE

Command line usage error.

Meaning

Wrong flags or argument structure.

Quick Fix
  • Correct the command syntax per documentation.
#bsd#syntax#usage
65
65
BSD

EX_DATAERR

Input data format error.

Meaning

Data is malformed or incorrect.

Quick Fix
  • Fix the data source or regenerate valid input.
#bsd#data
66
66
BSD

EX_NOINPUT

Cannot open input.

Meaning

Input file is missing or unreadable.

Quick Fix
  • Provide the correct file path or permissions.
#bsd#io#file
67
67
BSD

EX_NOUSER

Addressee unknown.

Meaning

Specified user or address does not exist.

Quick Fix
  • Use a valid user or create the account.
#bsd#user
68
68
BSD

EX_NOHOST

Host name unknown.

Meaning

Host cannot be resolved.

Quick Fix
  • Fix the hostname or DNS settings.
#bsd#network#dns
69
69
BSD

EX_UNAVAILABLE

Service unavailable.

Meaning

Required service or support program is missing.

Quick Fix
  • Start the service or install the missing dependency.
#bsd#service
70
70
BSD

EX_SOFTWARE

Internal software error.

Meaning

Application bug or unhandled exception.

Quick Fix
  • Fix the bug or update to a patched version.
#bsd#bug#software
71
71
BSD

EX_OSERR

System error.

Meaning

Operating system failure (fork, pipe, etc.).

Quick Fix
  • Free resources or raise system limits.
#bsd#os#system
72
72
BSD

EX_OSFILE

Critical OS file missing.

Meaning

Essential system file is missing or unreadable.

Quick Fix
  • Restore the file or reinstall the package.
#bsd#os#file
73
73
BSD

EX_CANTCREAT

Cannot create output.

Meaning

Failed to create or write output file.

Quick Fix
  • Free disk space or adjust permissions.
#bsd#io#write
74
74
BSD

EX_IOERR

Input/output error.

Meaning

Physical I/O error during file operations.

Quick Fix
  • Repair storage or remount the filesystem.
#bsd#io#disk
75
75
BSD

EX_TEMPFAIL

Temporary failure.

Meaning

Transient error; retry later.

Quick Fix
  • Add retry/backoff or wait for recovery.
#bsd#temp#retry
76
76
BSD

EX_PROTOCOL

Remote protocol error.

Meaning

Remote side sent invalid or unexpected protocol data.

Quick Fix
  • Upgrade/downgrade to compatible versions.
#bsd#protocol#network
77
77
BSD

EX_NOPERM

Permission denied.

Meaning

Insufficient privileges to perform the operation.

Quick Fix
  • Use the correct user or sudo when appropriate.
#bsd#permission
78
78
BSD

EX_CONFIG

Configuration error.

Meaning

Configuration is invalid or incomplete.

Quick Fix
  • Fix configuration and restart the service.
#bsd#config
TmuxAI Logo

AI Powered, Non-Intrusive Terminal Assistant

TmuxAI enhances your terminal with AI-powered commands, automation, and contextual awareness while preserving your existing workflow. It's open-source, privacy-focused, and can be used with any terminal emulator.

curl -fsSL https://get.tmuxai.dev | bash