LDD学习笔记 |
您所在的位置:网站首页 › linux错误码定义 › LDD学习笔记 |
LDD学习笔记 -- Linux错误码
EACCES(Permission Denied) 13EEXIST(File Exits) 17EINVAL(Invalid Argument) ==22==ENOENT(No Such File or Directory)ENOMEM(Out of Memory)EIO(Input/Output Error) 5ENOSPC(No space Left on Device)ENOTTY(Not a Typewrite)EPIPE(Broken Pipe)EINTR(Interrupted System Call)EBUSY(Device or Resource Busy) 16ENOTDIR(Not a Directory) 20ENOTEMPTY(Directory Not Empty)ENAMETOOLONG(File name too long)ENOSYS(Function Not Implement)EROFS(Read-Only File System)
错误码,常被称为errno值(用户空间全局变量),被定义在头文件中。 系统调用和库函数使用这些错误代码指示程序执行期间可能发生的各种错误情况。 错误码会从内核空间传到用户空间,用户空间的errno会被设置称内核模块返回的错误值,用户程序以确定内核空间的系统调用处理发生的错误。 /include/uapi/asm-generic/errno-base.h文件中具体错误码的定义 EACCES(Permission Denied) 13没有权限。 例如没有访问文件/资源等特定操作的权限 EEXIST(File Exits) 17当一个文件/目录已存在,尝试使用相同名称创建操作时返回 EINVAL(Invalid Argument) 22传递给系统调用或函数的参数无效 ENOENT(No Such File or Directory)被引用的文件/目录在文件系统中不存在 ENOMEM(Out of Memory)系统可用内存不足导致操作失败 EIO(Input/Output Error) 5指示硬件/低级I/O错误,通常与存储设备或硬件通信有关 ENOSPC(No space Left on Device)存储设备上没有可用空间执行写操作 ENOTTY(Not a Typewrite)终端设备上不支持某个操作,通常用于和ioctl相关的错误 EPIPE(Broken Pipe)Pip,试图写入没有读取器的管道,或管道写入操作失败 EINTR(Interrupted System Call)系统调用在成功完成前被信号中断 EBUSY(Device or Resource Busy) 16请求的设备或资源已被另一个进程使用 ENOTDIR(Not a Directory) 20不是个目录 ENOTEMPTY(Directory Not Empty)尝试删除非空目录时返回 ENAMETOOLONG(File name too long) ENOSYS(Function Not Implement)在当前平台或内核版本上没有实现函数或系统调用 EROFS(Read-Only File System)尝试写入只读文件系统时返回 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |