** errno常见的错误码及其含义**
| 错误码 | 宏定义 | 描述 |
|---|---|---|
| 1 | EPERM | 操作不允许 |
| 2 | ENOENT | 没有这个文件或目录 |
| 3 | ESRCH | 没有该进程 |
| 4 | EINTR | 被信号中断 |
| 5 | EIO | I/O 错误 |
| 6 | ENXIO | 没有该设备或地址 |
| 7 | E2BIG | 参数列表太大 |
| 8 | ENOEXEC | 格式错误,不能执行 |
| 9 | EBADF | 无效文件描述符 |
| 10 | ECHILD | 没有子进程 |
| 11 | EAGAIN | 资源暂时不可用 |
| 12 | ENOMEM | 不能分配内存 |
| 13 | EACCES | 权限不够 |
| 14 | EFAULT | 指针指向地址无效 |
| 15 | ENOTBLK | 块设备要求 |
| 16 | EBUSY | 设备或资源忙 |
| 17 | EEXIST | 文件已存在 |
| 18 | EXDEV | 跨设备链接 |
| 19 | ENODEV | 没有该设备 |
| 20 | ENOTDIR | 不是目录 |
| 21 | EISDIR | 是目录 |
| 22 | EINVAL | 参数无效 |
| 23 | ENFILE | 文件已打开太多 |
| 24 | EMFILE | 文件描述符超出范围 |
| 25 | ENOTTY | 不是终端设备 |
| 26 | ETXTBSY | 文本文件忙 |
| 27 | EFBIG | 文件太大 |
| 28 | ENOSPC | 没有空间 |
| 29 | ESPIPE | 非法的管道操作 |
| 30 | EROFS | 只读文件系统 |
| 31 | EMLINK | 链接数过多 |
| 32 | EPIPE | 管道破裂 |
| 33 | EDOM | 数学参数超出范围 |
| 34 | ERANGE | 数学结果超出范围 |
| 35 | EDEADLK | 可能死锁 |
| 36 | ENAMETOOLONG | 文件名太长 |
| 37 | ENOLCK | 没有锁可用 |
| 38 | ENOSYS | 功能未实现 |
| 39 | ENOTEMPTY | 目录不为空 |
| 40 | ELOOP | 太多的符号链接 |
| 41 | EWOULDBLOCK | 等同于 EAGAIN |
| 42 | ENOMSG | 没有消息可用 |
| 43 | EIDRM | 标识符被移除 |
| 44 | ECHRNG | 通道号超出范围 |
| 45 | EL2NSYNC | 级别 2 同步 |
| 46 | EL3HLT | 级别 3 停止 |
| 47 | EL3RST | 级别 3 重启 |
| 48 | ELNRNG | 链路号超出范围 |
| 49 | EUNATCH | 未锁定的协议 |
| 50 | ENOCSI | 没有 CSI 结构 |
| 51 | EL2HLT | 级别 2 停止 |
| 52 | EBADE | 无效的交换 |
| 53 | EBADR | 无效的请求码 |
| 54 | EXFULL | 交换区满 |
| 55 | ENOANO | 没有可用的匿名页 |
| 56 | EBADRQC | 无效的请求码 |
| 57 | EBADSLT | 无效的插槽 |
| 58 | EDEADLOCK | 等同于 EDEADLK |
| 59 | EBFONT | 字体错误 |
| 60 | ENOSTR | 设备不是流 |
| 61 | ENODATA | 没有可用数据 |
| 62 | ETIME | 超时 |
| 63 | ENOSR | 没有可用的流资源 |
| 64 | ENONET | 机器未在网中 |
| 65 | ENOPKG | 包未安装 |
| 66 | EREMOTE | 对象在远程机器上 |
| 67 | ENOLINK | 链接断开 |
| 68 | EADV | 广告错误 |
| 69 | ESRMNT | 挂载错误 |
| 70 | ECOMM | 通信错误 |
| 71 | EPROTO | 协议错误 |
| 72 | EMULTIHOP | 多跳错误 |
| 73 | EDOTDOT | 无法解析 .. |
| 74 | EBADMSG | 消息无效 |
| 75 | EOVERFLOW | 值太大,无法存储 |
| 76 | ENOTUNIQ | 名称不唯一 |
| 77 | EBADFD | 文件描述符无效 |
| 78 | EREMCHG | 远程地址已更改 |
| 79 | ELIBACC | 无法访问库 |
| 80 | ELIBBAD | 无效的库 |
| 81 | ELIBSCN | 库已损坏 |
| 82 | ELIBMAX | 超过最大值 |
| 83 | ELIBEXEC | 无法执行库 |
| 84 | EILSEQ | 非法字节序列 |
| 85 | ERESTART | 系统调用中断,可重启 |
| 86 | ESTRPIPE | 流管道错误 |
| 87 | EUSERS | 用户数过多 |
| 88 | ENOTSOCK | 不是套接字 |
| 89 | EDESTADDRREQ | 需要目标地址 |
| 90 | EMSGSIZE | 消息太大 |
| 91 | EPROTOTYPE | 错误的协议类型 |
| 92 | ENOPROTOOPT | 无协议选项 |
| 93 | EPROTONOSUPPORT | 未支持的协议 |
| 94 | ESOCKTNOSUPPORT | 未支持的套接字类型 |
| 95 | EOPNOTSUPP | 操作不支持 |
| 96 | EPFNOSUPPORT | 未支持的协议族 |
| 97 | EAFNOSUPPORT | 未支持的地址族 |
| 98 | EADDRINUSE | 地址已在使用 |
| 99 | EADDRNOTAVAIL | 地址不可用 |
| 100 | ENETDOWN | 网络不可用 |
| 101 | ENETUNREACH | 网络不可达 |
| 102 | ENETRESET | 网络已重置 |
| 103 | `E |
也可以通过shell命令查询errno详情:
sudo apt install moreutils # 安装 errno 命令包
errno 2 # 查询errno=2的错误详情
225

被折叠的 条评论
为什么被折叠?



