Linux中内置的errno
把man errno 里的内容都翻出来了,留着以后备用。
| 错误 | 错误细节 | 标准 |
|---|---|---|
| E2BIG | 变量列表太长 | POSIX.1 |
| EACCES | 权限不足 | POSIX.1 |
| EADDRINUSE | 地址已被使用 | POSIX.1 |
| EADDRNOTAVAIL | 地址不存在 | POSIX.1 |
| EAFNOSUPPORT | 地址簇不支持 | POSIX.1 |
| EAGAIN | 资源暂时不可用(就是说等一等就可用了) | POSIX.1 |
| EALREADY | 连接正在工作 | POSIX.1 |
| EBADE | 错误的交换 | |
| EBADF | 文件描述符错误 | POSIX.1 |
| EBADFD | 文件描述符状态错误 | |
| EBADMSG | 消息错误 | POSIX.1 |
| EBADR | 请求描述符错误 | |
| EBADRQC | 请求代码错误 | |
| EBADSLT | 插槽错误 | |
| EBUSY | 资源正忙 | POSIX.1 |
| ECANCELED | 操作已取消 | POSIX.1 |
| ECHILD | 无子进程 | POSIX.1 |
| ECHRNG | 频道号超出范围 | |
| ECOMM | 通讯时发送错误 | |
| ECONNABORTED | 连接被废弃 | POSIX.1 |
| ECONNREFUSED | 拒绝连接 | POSIX.1 |
| ECONNRESET | 连接被重置 | POSIX.1 |
| EDEADLK | 死锁被忽略 | POSIX.1 |
| EDEADLOCK | 同EDEADLK | |
| EDESTADDRREQ | 需要目标地址 | POSIX.1 |
| EDOM | 变量超出范围(数学函数) | POSIX.1,C99 |
| EDQUOT | 磁盘限额满 | POSIX.1 |
| EEXIST | 文件已存在 | POSIX.1 |
| EFAULT | 地址错误 | POSIX.1 |
| EFBIG | 文件太大 | POSIX.1 |
| EHOSTDOWN | 主机挂了(host is down) | |
| EHOSTUNREACH | 无法到达主机 | POSIX.1 |
| EIDRM | 标志符被移去 | POSIX.1 |
| EILSEQ | 非法的字节序列 | POSIX.1,C99 |
| EINPROGRESS | 操作正在执行 | POSIX.1 |
| EINTR | 操作被信号打断(见signal(7)) | POSIX.1 |
| EINVAL | 非法的参数 | POSIX.1 |
| EIO | 输入/输出错误 | POSIX.1 |
| EISCONN | socket已经连接 | POSIX.1 |
| EISDIR | 是目录 | POSIX.1 |
| EISNAM | 是文件(named type file) | |
| EKEYEXPIRED | key已过期 | |
| EKEYREJECTED | key被服务拒绝 | |
| EKEYREVOKED | key已被撤销 | |
| EEL2HLT | level 2 挂起 | |
| EL2NSYNC | level 2 非同步 | |
| EL3HLT | level 3 挂起 | |
| EL3RST | level 3 挂起 | |
| ELIBACC | 无法连接需要的共享库 | |
| ELIBBAD | 连接坏的共享库 | |
| ELIBMAX | 尝试连接的库太多了 | |
| ELIBSCN | a.out程序里的lib段已坏 | |
| ELIBEXEC | 无法进入共享库的文件夹 | |
| ELOOP | 符号链接层次太多(一般是绕成环了) | POSIX.1 |
| EMEDIUMTYPE | 错误的介质类型 | |
| EMFILE | 打开的文件过多 | POSIX.1 |
| EMLINK | 太多链接 | POSIX.1 |
| EMSGSIZE | 消息太长 | POSIX.1 |
| EMULTIHOP | 多跳尝试(不懂,直译的) | POSIX.1 |
| ENAMETOOLONG | 文件名太长 | POSIX.1 |
| ENETDOWN | 网络down掉了 | POSIX.1 |
| ENETRESET | 连接被网络抛弃 | POSIX.1 |
| ENETUNREACH | 网络无法到达 | POSIX.1 |
| ENFILE | 系统打开文件数过多 | POSIX.1 |
| ENBUFS | 缓冲区空间不足 | POSIX.1 |
| ENODATA | 读队列里没有消息 | POSIX.1 |
| ENODEV | 设备不存在 | POSIX.1 |
| ENOENT | 文件或目录不存在 | POSIX.1 |
| ENOEXEC | 可执行文件格式错误 | POSIX.1 |
| ENOKEY | 需要的key不可用 | |
| ENOLCK | locks 都不可用 | POSIX.1 |
| ENOLINK | link正在被使用 | POSIX.1 |
| ENOMEDIUM | 没有发现介质 | |
| ENOMEM | 空间不足 | POSIX.1 |
| ENOMSG | 该类型对应的消息不存在 | POSIX.1 |
| ENONET | 机器没有连接到网络 | |
| ENOPKG | 包尚未安装 | |
| ENOPROTOOPT | 协议不可用 | POSIX.1 |
| ENOSPC | 设备空间不足 | POSIX.1 |
| ENOSR | 没有流资源 | POSIX.1 |
| ENOSTR | 不是一个流 | POSIX.1 |
| ENOSYS | 函数未实施 | POSIX.1 |
| ENOTBLK | 需要块设备 | |
| ENOTCONN | socket未连接 | POSIX.1 |
| ENOTDIR | 不是目录 | POSIX.1 |
| ENOTEMPTY | 目录非空 | POSIX.1 |
| ENOTSOCK | 不是一个套接字(socket) | POSIX.1 |
| ENOTSUP | 操作不支持 | POSIX.1 |
| ENOTTY | 不合适的I/O控制操作 | POSIX.1 |
| ENOTUNIQ | 主机名在网络上不唯一 | |
| ENXIO | 地址或设备不存在 | POSIX.1 |
| EOPNOTSUPP | 操作不被套接字支持 | POSIX.1 |
| EOVERFLOW | 值超出了变量存储的范围 | POSIX.1 |
| EPERM | 操作不允许 | POSIX.1 |
| EPFNOSUPPORT | 协议簇不支持 | |
| EPIPE | 坏的管道 | POSIX.1 |
| EPROTO | 协议错误 | POSIX.1 |
| EPROTONOSUPPORT | 协议不支持 | POSIX.1 |
| EPROTOTYPE | 错误的套接字协议类型 | POSIX.1 |
| ERANGE | 结果太长 | POSIX.1,C99 |
| EREMCHG | 远程地址已变化 | |
| EREMOTE | 对象是远程的 | |
| EREMOTEIO | 远程I/O错误 | |
| ERESTART | 被打断的系统调用需要重新开始 | |
| EROFS | 只读文件系统 | POSIX.1 |
| ESHUTDOWN | ||
| ESPIPE | 无效的seek | POSIX.1 |
| ESOCKTNOSUPPORT | 套接字类型不支持 | |
| ESRCH | 不存在对应的进程 | POSIX.1 |
| ESTALE | 文件句柄过期 | POSIX.1 |
| ESTRPIPE | 流管道错误 | |
| ETIME | 超时 | POSIX.1 |
| ETIMEDOUT | 连接超时 | POSIX.1 |
| ETXTBSY | 文本文件正忙 | POSIX.1 |
| EUCLEAN | 结构需要清理 | |
| EUNATCH | 协议安装盘没有连接 | |
| EUSERS | 用户太多 | |
| EWOUDLBLOCK | 操作被阻塞 | POSIX.1 |
| EXDEV | 不合适的链接 | POSIX.1 |
| EXFULL | 交换区已满 |
在控制台下,有一个特殊的环境变量 $?,保存着前一个程序的返回值。
转载请注明来源:http://www.tianwaihome.com/2012/05/linux-all-errno.html。