Linux Error Codes
Contents |
Aug 2004 on RedHat 7.3 #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No linux errno example such process */ #define EINTR 4 /* Interrupted system call */ #define EIO
Posix Error Codes
5 /* I/O error */ #define ENXIO 6 /* No such device or address */ #define E2BIG 7 /* Arg linux errno to string list too long */ #define ENOEXEC 8 /* Exec format error */ #define EBADF 9 /* Bad file number */ #define ECHILD 10 /* No child processes */ #define EAGAIN 11 /* Try
Errno.h Linux Kernel
again */ #define ENOMEM 12 /* Out of memory */ #define EACCES 13 /* Permission denied */ #define EFAULT 14 /* Bad address */ #define ENOTBLK 15 /* Block device required */ #define EBUSY 16 /* Device or resource busy */ #define EEXIST 17 /* File exists */ #define EXDEV 18 /* Cross-device link */ #define ENODEV 19 /* No such device */ #define ENOTDIR 20 /* errno.h windows Not a directory */ #define EISDIR 21 /* Is a directory */ #define EINVAL 22 /* Invalid argument */ #define ENFILE 23 /* File table overflow */ #define EMFILE 24 /* Too many open files */ #define ENOTTY 25 /* Not a typewriter */ #define ETXTBSY 26 /* Text file busy */ #define EFBIG 27 /* File too large */ #define ENOSPC 28 /* No space left on device */ #define ESPIPE 29 /* Illegal seek */ #define EROFS 30 /* Read-only file system */ #define EMLINK 31 /* Too many links */ #define EPIPE 32 /* Broken pipe */ #define EDOM 33 /* Math argument out of domain of func */ #define ERANGE 34 /* Math result not representable */ #define EDEADLK 35 /* Resource deadlock would occur */ #define ENAMETOOLONG 36 /* File name too long */ #define ENOLCK 37 /* No record locks available */ #define ENOSYS 38 /* Function not implemented */ #define ENOTEMPTY 39 /* Directory not empty */ #define ELOOP 40 /* Too many symbolic links encountered */ #define EWOULDBLOCK EAGAIN /* Operation would block */ #define ENOMSG 42 /* No message of desired type */ #define EIDRM 43 /* Identifie
DESCRIPTION top The
Errno.h In C
the event of an error to indicate what went wrong. Its value is
Efault
significant only when the return value of the call indicated an error (i.e., -1 from most system calls; -1 or NULL ebadf from most library functions); a function that succeeds is allowed to change errno. Valid error numbers are all nonzero; errno is never set to zero by any system call or library function. For some system http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html calls and library functions (e.g., getpriority(2)), -1 is a valid return on success. In such cases, a successful return can be distinguished from an error return by setting errno to zero before the call, and then, if the call returns a status that indicates that an error may have occurred, checking to see if errno has a nonzero value. errno is defined by the ISO C standard to be a http://man7.org/linux/man-pages/man3/errno.3.html modifiable lvalue of type int, and must not be explicitly declared; errno may be a macro. errno is thread-local; setting it in one thread does not affect its value in any other thread. All the error names specified by POSIX.1 must have distinct values, with the exception of EAGAIN and EWOULDBLOCK, which may be the same. Below is a list of the symbolic error names that are defined on Linux. Some of these are marked POSIX.1, indicating that the name is defined by POSIX.1-2001, or C99, indicating that the name is defined by C99. E2BIG Argument list too long (POSIX.1) EACCES Permission denied (POSIX.1) EADDRINUSE Address already in use (POSIX.1) EADDRNOTAVAIL Address not available (POSIX.1) EAFNOSUPPORT Address family not supported (POSIX.1) EAGAIN Resource temporarily unavailable (may be the same value as EWOULDBLOCK) (POSIX.1) EALREADY Connection already in progress (POSIX.1) EBADE Invalid exchange EBADF Bad file descriptor (POSIX.1) EBADFD File descriptor in bad state EBADMSG Bad message (POSIX.1) EBADR Invalid request descriptor EBADRQC Invalid request code EBADSLT Invalid slot EBUSY Device or resource busy (POSIX.1) ECANCELED Operation canceled (POSIX.1) ECHILD No child processes (POSIX.1) ECHRNG Channel number out of range ECOMM Communication error on send ECONNABORTED Connection aborted (POSIX.1) ECONNREFUSED Connection refused (POSIX.1) ECONNRESET Connection reset (POSIX.1) EDEADL
Ramey
The exit command terminates a script, just as in a C program. It can also return a value, which is available to the script's parent process.Every command http://tldp.org/LDP/abs/html/exit-status.html returns an exit status (sometimes referred to as a return status or exit code). A successful command returns a 0, while an unsuccessful one returns a non-zero value that usually http://unix.stackexchange.com/questions/8355/understand-error-codes-in-linux can be interpreted as an error code. Well-behaved UNIX commands, programs, and utilities return a 0 exit code upon successful completion, though there are some exceptions.Likewise, functions within a script and the error codes script itself return an exit status. The last command executed in the function or script determines the exit status. Within a script, an exit nnn command may be used to deliver an nnn exit status to the shell (nnn must be an integer in the 0 - 255 range).When a script ends with an exit that has no parameter, the linux error codes exit status of the script is the exit status of the last command executed in the script (previous to the exit).#!/bin/bash COMMAND_1 . . . COMMAND_LAST # Will exit with status of last command. exitThe equivalent of a bare exit is exit $? or even just omitting the exit.#!/bin/bash COMMAND_1 . . . COMMAND_LAST # Will exit with status of last command. exit $?#!/bin/bash COMMAND1 . . . COMMAND_LAST # Will exit with status of last command.here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Unix & Linux Questions Tags Users Badges Unanswered Ask Question _ Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute: Sign up Here's how it works: Anybody can ask a question Anybody can answer The best answers are voted up and rise to the top Understand error codes in Linux up vote 4 down vote favorite I am working on Linux (Kernel Version 2.6.32.28) laptop. After I inserted/did file io/removed a SD combo card, I got following errors: mmcblk0: error -123 sending status command mmcblk0: error -123 sending read/write command, response 0x0, card status 0x0 mmcblk0: error -123 sending requesting status Now, I would like to understand what these errors mean. As I saw few standard error codes are located in arch/powerpc/boot/stdio.h and other scattered at various other places.. Is there any systematic way in Linux to track (& understand) the error codes (in the source) ? linux system-calls error-handling share|improve this question edited Feb 11 '12 at 0:00 Gilles 372k696761127 asked Feb 28 '11 at 7:02 TheCottonSilk 13327 migrated from stackoverflow.com Feb 28 '11 at 20:33 This question came from our site for professional and enthusiast programmers. add a comment| 4 Answers 4 active oldest votes up vote 5 down vote accepted There are standard error values, defined in errno.h. You can look at this file on your system to see the numerical values. On most systems, they're in /usr/include/errno.h or a file that it includes. On Linux, most are in /usr/include/a