Linux中的错误码

简介: Linux中的错误码

include\uapi\asm-generic\errno-base.h

#define EPERM    1  /* Operation not permitted */
#define ENOENT     2  /* No such file or directory */
#define ESRCH    3  /* No such process */
#define EINTR    4  /* Interrupted system call */
#define EIO    5  /* I/O error */
#define ENXIO    6  /* No such device or address */
#define E2BIG    7  /* Argument 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 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  /* 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 */

include\uapi\asm-generic\errno.h

#define EDEADLK   35  /* Resource deadlock would occur */
#define ENAMETOOLONG  36  /* File name too long */
#define ENOLCK    37  /* No record locks available */
/*
 * This error code is special: arch syscall entry code will return
 * -ENOSYS if users try to call a syscall that doesn't exist.  To keep
 * failures of syscalls that really do exist distinguishable from
 * failures due to attempts to use a nonexistent syscall, syscall
 * implementations should refrain from returning -ENOSYS.
 */
#define ENOSYS    38  /* Invalid system call number */
#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  /* Identifier removed */
#define ECHRNG    44  /* Channel number out of range */
#define EL2NSYNC  45  /* Level 2 not synchronized */
#define EL3HLT    46  /* Level 3 halted */
#define EL3RST    47  /* Level 3 reset */
#define ELNRNG    48  /* Link number out of range */
#define EUNATCH   49  /* Protocol driver not attached */
#define ENOCSI    50  /* No CSI structure available */
#define EL2HLT    51  /* Level 2 halted */
#define EBADE   52  /* Invalid exchange */
#define EBADR   53  /* Invalid request descriptor */
#define EXFULL    54  /* Exchange full */
#define ENOANO    55  /* No anode */
#define EBADRQC   56  /* Invalid request code */
#define EBADSLT   57  /* Invalid slot */
#define EDEADLOCK EDEADLK
#define EBFONT    59  /* Bad font file format */
#define ENOSTR    60  /* Device not a stream */
#define ENODATA   61  /* No data available */
#define ETIME   62  /* Timer expired */
#define ENOSR   63  /* Out of streams resources */
#define ENONET    64  /* Machine is not on the network */
#define ENOPKG    65  /* Package not installed */
#define EREMOTE   66  /* Object is remote */
#define ENOLINK   67  /* Link has been severed */
#define EADV    68  /* Advertise error */
#define ESRMNT    69  /* Srmount error */
#define ECOMM   70  /* Communication error on send */
#define EPROTO    71  /* Protocol error */
#define EMULTIHOP 72  /* Multihop attempted */
#define EDOTDOT   73  /* RFS specific error */
#define EBADMSG   74  /* Not a data message */
#define EOVERFLOW 75  /* Value too large for defined data type */
#define ENOTUNIQ  76  /* Name not unique on network */
#define EBADFD    77  /* File descriptor in bad state */
#define EREMCHG   78  /* Remote address changed */
#define ELIBACC   79  /* Can not access a needed shared library */
#define ELIBBAD   80  /* Accessing a corrupted shared library */
#define ELIBSCN   81  /* .lib section in a.out corrupted */
#define ELIBMAX   82  /* Attempting to link in too many shared libraries */
#define ELIBEXEC  83  /* Cannot exec a shared library directly */
#define EILSEQ    84  /* Illegal byte sequence */
#define ERESTART  85  /* Interrupted system call should be restarted */
#define ESTRPIPE  86  /* Streams pipe error */
#define EUSERS    87  /* Too many users */
#define ENOTSOCK  88  /* Socket operation on non-socket */
#define EDESTADDRREQ  89  /* Destination address required */
#define EMSGSIZE  90  /* Message too long */
#define EPROTOTYPE  91  /* Protocol wrong type for socket */
#define ENOPROTOOPT 92  /* Protocol not available */
#define EPROTONOSUPPORT 93  /* Protocol not supported */
#define ESOCKTNOSUPPORT 94  /* Socket type not supported */
#define EOPNOTSUPP  95  /* Operation not supported on transport endpoint */
#define EPFNOSUPPORT  96  /* Protocol family not supported */
#define EAFNOSUPPORT  97  /* Address family not supported by protocol */
#define EADDRINUSE  98  /* Address already in use */
#define EADDRNOTAVAIL 99  /* Cannot assign requested address */
#define ENETDOWN  100 /* Network is down */
#define ENETUNREACH 101 /* Network is unreachable */
#define ENETRESET 102 /* Network dropped connection because of reset */
#define ECONNABORTED  103 /* Software caused connection abort */
#define ECONNRESET  104 /* Connection reset by peer */
#define ENOBUFS   105 /* No buffer space available */
#define EISCONN   106 /* Transport endpoint is already connected */
#define ENOTCONN  107 /* Transport endpoint is not connected */
#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */
#define ETOOMANYREFS  109 /* Too many references: cannot splice */
#define ETIMEDOUT 110 /* Connection timed out */
#define ECONNREFUSED  111 /* Connection refused */
#define EHOSTDOWN 112 /* Host is down */
#define EHOSTUNREACH  113 /* No route to host */
#define EALREADY  114 /* Operation already in progress */
#define EINPROGRESS 115 /* Operation now in progress */
#define ESTALE    116 /* Stale file handle */
#define EUCLEAN   117 /* Structure needs cleaning */
#define ENOTNAM   118 /* Not a XENIX named type file */
#define ENAVAIL   119 /* No XENIX semaphores available */
#define EISNAM    120 /* Is a named type file */
#define EREMOTEIO 121 /* Remote I/O error */
#define EDQUOT    122 /* Quota exceeded */
#define ENOMEDIUM 123 /* No medium found */
#define EMEDIUMTYPE 124 /* Wrong medium type */
#define ECANCELED 125 /* Operation Canceled */
#define ENOKEY    126 /* Required key not available */
#define EKEYEXPIRED 127 /* Key has expired */
#define EKEYREVOKED 128 /* Key has been revoked */
#define EKEYREJECTED  129 /* Key was rejected by service */
/* for robust mutexes */
#define EOWNERDEAD  130 /* Owner died */
#define ENOTRECOVERABLE 131 /* State not recoverable */
#define ERFKILL   132 /* Operation not possible due to RF-kill */
#define EHWPOISON 133 /* Memory page has hardware error */

include\linux\errno.h

/*
 * These should never be seen by user programs.  To return one of ERESTART*
 * codes, signal_pending() MUST be set.  Note that ptrace can observe these
 * at syscall exit tracing, but they will never be left for the debugged user
 * process to see.
 */
#define ERESTARTSYS 512
#define ERESTARTNOINTR  513
#define ERESTARTNOHAND  514 /* restart if no handler.. */
#define ENOIOCTLCMD 515 /* No ioctl command */
#define ERESTART_RESTARTBLOCK 516 /* restart by calling sys_restart_syscall */
#define EPROBE_DEFER  517 /* Driver requests probe retry */
#define EOPENSTALE  518 /* open found a stale dentry */
#define ENOPARAM  519 /* Parameter not supported */
/* Defined for the NFSv3 protocol */
#define EBADHANDLE  521 /* Illegal NFS file handle */
#define ENOTSYNC  522 /* Update synchronization mismatch */
#define EBADCOOKIE  523 /* Cookie is stale */
#define ENOTSUPP  524 /* Operation is not supported */
#define ETOOSMALL 525 /* Buffer or request is too small */
#define ESERVERFAULT  526 /* An untranslatable error occurred */
#define EBADTYPE  527 /* Type not supported by server */
#define EJUKEBOX  528 /* Request initiated, but will not complete before timeout */
#define EIOCBQUEUED 529 /* iocb queued, will get completion event */
#define ERECALLCONFLICT 530 /* conflict with recalled state */
#define ENOGRACE  531 /* NFS file lock reclaim refused */
相关文章
Linux系统调试篇——Linux错误码介绍
Linux系统调试篇——Linux错误码介绍
|
存储 Linux Shell
Linux系统调用十、进程地址空间、文件描述符、errno错误码、dup()重定向
Linux系统调用十、进程地址空间、文件描述符、errno错误码、dup()重定向
418 0
Linux系统调用十、进程地址空间、文件描述符、errno错误码、dup()重定向
|
Linux
Linux错误码
1-34号错误号是在内核源码的include/asm-generic/errno-base.h定义35-132则是在include/asm-generic/errno.h中定义   #define   EPERM        1   /* Operation not permitted*/ #de...
1638 0
|
10月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
1015 1
二、Linux文本处理与文件操作核心命令
|
10月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
627 137
|
10月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1590 58
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
1151 143
linux命令—tree
|
9月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1477 2
|
10月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
800 16