2019年7月

Linux 错误码(errno)

0 条评论 系统 Linux FairyFar

一、错误对照表

errno 0 :     Success
errno 1 :     Operation not permitted
errno 2 :     No such file or directory
errno 3 :     No such process
errno 4 :     Interrupted system call
errno 5 :     Input/output error
errno 6 :     No such device or address
errno 7 :     Argument list too long
errno 8 :     Exec format error
errno 9 :     Bad file descriptor
errno 10 :    No child processes
errno 11 :    Resource temporarily unavailable
errno 12 :    Cannot allocate memory
errno 13 :    Permission denied
errno 14 :    Bad address
errno 15 :    Block device required
errno 16 :    Device or resource busy
errno 17 :    File exists
errno 18 :    Invalid cross-device link
errno 19 :    No such device
errno 20 :    Not a directory
errno 21 :    Is a directory
errno 22 :    Invalid argument
errno 23 :    Too many open files in system
errno 24 :    Too many open files
errno 25 :    Inappropriate ioctl for device
errno 26 :    Text file busy
errno 27 :    File too large
errno 28 :    No space left on device
errno 29 :    Illegal seek
errno 30 :    Read-only file system
errno 31 :    Too many links
errno 32 :    Broken pipe
errno 33 :    Numerical argument out of domain
errno 34 :    Numerical result out of range
errno 35 :    Resource deadlock avoided
errno 36 :    File name too long
errno 37 :    No locks available
errno 38 :    Function not implemented
errno 39 :    Directory not empty
errno 40 :    Too many levels of symbolic links
errno 41 :    Unknown error 41
errno 42 :    No message of desired type
errno 43 :    Identifier removed
errno 44 :    Channel number out of range
errno 45 :    Level 2 not synchronized
errno 46 :    Level 3 halted
errno 47 :    Level 3 reset
errno 48 :    Link number out of range
errno 49 :    Protocol driver not attached
errno 50 :    No CSI structure available
errno 51 :    Level 2 halted
errno 52 :    Invalid exchange
errno 53 :    Invalid request descriptor
errno 54 :    Exchange full
errno 55 :    No anode
errno 56 :    Invalid request code
errno 57 :    Invalid slot
errno 58 :    Unknown error 58
errno 59 :    Bad font file format
errno 60 :    Device not a stream
errno 61 :    No data available
errno 62 :    Timer expired
errno 63 :    Out of streams resources
errno 64 :    Machine is not on the network
errno 65 :    Package not installed
errno 66 :    Object is remote
errno 67 :    Link has been severed
errno 68 :    Advertise error
errno 69 :    Srmount error
errno 70 :    Communication error on send
errno 71 :    Protocol error
errno 72 :    Multihop attempted
errno 73 :    RFS specific error
errno 74 :    Bad message
errno 75 :    Value too large for defined datatype
errno 76 :    Name not unique on network
errno 77 :    File descriptor in bad state
errno 78 :    Remote address changed
errno 79 :    Can not access a needed sharedlibrary
errno 80 :    Accessing a corrupted sharedlibrary
errno 81 :    .lib section in a.out corrupted
errno 82 :    Attempting to link in too manyshared libraries
errno 83 :    Cannot exec a shared librarydirectly
errno 84 :    Invalid or incomplete multibyte orwide character
errno 85 :    Interrupted system call should berestarted
errno 86 :    Streams pipe error
errno 87 :    Too many users
errno 88 :    Socket operation on non-socket
errno 89 :    Destinationaddress required
errno 90 :    Message too long
errno 91 :    Protocol wrong type for socket
errno 92 :    Protocol not available
errno 93 :    Protocol not supported
errno 94 :    Socket type not supported
errno 95 :    Operation not supported
errno 96 :    Protocol family not supported
errno 97 :    Address family not supported byprotocol
errno 98 :    Address already in use
errno 99 :    Cannot assign requested address
errno 100 :   Network is down
errno 101 :   Network is unreachable
errno 102 :   Network dropped connection onreset
errno 103 :   Software caused connection abort
errno 104 :   Connection reset by peer
errno 105 :   No buffer space available
errno 106 :   Transport endpoint is alreadyconnected
errno 107 :   Transport endpoint is notconnected
errno 108 :   Cannot send after transportendpoint shutdown
errno 109 :   Too many references: cannot splice
errno 110 :   Connection timed out
errno 111 :   Connection refused
errno 112 :   Host is down
errno 113 :   No route to host
errno 114 :   Operation already in progress
errno 115 :   Operation now in progress
errno 116 :   Stale NFS file handle
errno 117 :   Structure needs cleaning
errno 118 :   Not a XENIX named type file
errno 119 :   No XENIX semaphores available
errno 120 :   Is a named type file
errno 121 :   Remote I/O error
errno 122 :   Disk quota exceeded
errno 123 :   No medium found
errno 124 :   Wrong medium type
errno 125 :   Operation canceled
errno 126 :   Required key not available
errno 127 :   Key has expired
errno 128 :   Key has been revoked
errno 129 :   Key was rejected by service
errno 130 :   Owner died
errno 131 :   State not recoverable
errno 132 :   Operation not possible due toRF-kill
errno 133 :   Unknown error 133
errno 134 :   Unknown error 134
errno 135 :   Unknown error 135
errno 136 :   Unknown error 136
errno 137 :   Unknown error 137
errno 138 :   Unknown error 138
errno 139 :   Unknown error 139

二、使用C语言将errno转换为描述文字

#include <errno.h>
#include <string.h>
#include <stdio.h>
 
int main()
{
  int i;
  for (i = 0; i < 140; ++i)
  {
    printf("errno %d :\t\t%s\n",i,strerror(i));
  }
  return 0;
}

三、Linux终端errno转换为描述文字

Linux Shell没有专门命令转换errno,不过我们可以使用Python进行查询:

[yz@MiWiFi-R4A-srv ~]$ python
>>> import os
>>> import errno
>>> print(os.strerror(11))
Resource temporarily unavailable