本文:记录,Linux errno值含义 与 思考(致命与可修正错误类型)。
Linux errno值含义
利用程序,直接打印所有errno的值的对应strings,如下
void print_errs( void )
{
int idx = 0;
int sys_nerr = 255;
for( idx = 0; idx < sys_nerr; idx++ ) {
printf( "Error #%3d: %s\n", idx, strerror( idx ) );
}
}
输出
Error # 0: Success
Error # 1: Operation not permitted
···········所有已经定义的errno值
Error #134: Unknown error 134
···········所有无定义的errno值
Error #255: Unknown error 255
上面并不能直接有对应的errno号,下面截取信息,方便自己查阅:Linux 16.4
/usr/include/asm-generic/errno-base.h
/usr/include/asm-generic/errno.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 */
#def