Exit Codes

From Leo's Notes
Revision as of 18:26, 27 April 2021 by Leo (talk | contribs)
This page was last edited on 27 April 2021, at 18:26.

Here are some common exit codes that may be returned by a program or script.

Status Description
0 Successful Termination
1 General Error
2 Misuse of shell builtins, keywords, or functions
126 Cannot Execute
127 Command Not Found. Path or typo issue.
128+n Fatal error signal n, where n is the signal number as defined in:

https://man7.org/linux/man-pages/man7/signal.7.html

130 Program Interrupted (SIGINT, 2), such as termination from Ctrl-C
134 Program Abort (SIGABRT, 6)
136 Erroneous Arithmetic Operation (SIGFPE, 8), such as division by zero
139 Segmentation Fault (SIGSEGV, 11)
160+n The largest signal value is 31. As a result, all values after 128+31 can be interpreted as negative return codes by treating the value as a 1 byte integer.

For example, 255 = -1, 254 = -2, 240 = -16, 225 = -31, and so forth

A simple way to 'convert' it is to just subtract the value from 256.

255 Maximum exit code value. Obtained when the program calls exit -1.
256+ All higher exit codes should be reduced down to the 0-255 range via the modulo operator.

Eg. Code 3809 % 256 results in 225

See Also