Els codis d'error de Linux són aquells codis que es mostren si es produeix un error al sistema mentre es treballa o s'utilitza un programa. Els errors es poden reconèixer amb l'ajuda de codis d'error. Els codis d'error ens ajuden a reconèixer l'origen de l'error.
Si estem treballant en un sistema Linux, és obvi que podem trobar errors. Alguns errors poden ser menors i poden no conduir a la interrupció del programa. Però hi pot haver alguns errors que poden fer que un sistema o programa deixi de respondre. Aquests errors poden provocar la pèrdua de dades o poden impedir que el programa es completi. La majoria dels errors es mostren en forma de codis o missatges.
En aquesta secció, veurem errors en la programació en C i una llista de possibles errors en la programació Linux sistema.
Errors de Linux en la programació C
Un programador hàbil ha de saber com fer front als errors. El llenguatge de programació C no proporciona suport directe per al maneig d'errors. Hem de detectar l'origen de l'error i tractar-lo. En llenguatge C, els valors de retorn mostren el fracàs o l'èxit. Si una funció del programa C falla, hem de gestionar l'error en conseqüència; en cas contrari, registra els últims errors en un fitxer de registre.
Durant l'execució dels programes C, podem notar alguns números d'error com ara 'L'error no és: 17'. Aquí, l'error no 17 significa que el fitxer ja existeix. Cada número d'error té algun significat.
El llenguatge C admet una variable 'error no .' Mitjançant aquesta variable de nombre d'error, podem utilitzar algunes funcions de gestió d'errors per gestionar-lo correctament.
Per utilitzar el número d'error de la variable externa, hem d'incloure un fitxer de capçalera 'errno.h.' El fitxer de capçalera s'utilitza per definir la variable 'errno'. La variable errno la defineixen les trucades del sistema i les funcions de la biblioteca a l'ocurrència de l'error. Hi ha dues funcions importants en el Llenguatge de programació C per fer front als errors; terror i strerror . La funció d'error s'utilitza per imprimir la descripció de l'error i la funció d'error retorna una cadena amb codi d'error.
Anem a mostrar la llista de codis d'error utilitzant errno.
Linux error
La utilitat errno s'utilitza per cercar codis d'errno, noms de macros i les descripcions corresponents. Per exemple, si proporcionem ENOENT en un sistema Linux, mostrarà el codi 2 i la descripció ' El fitxer o directori no existeix .' Si proporcionem el codi 2, es mostrarà ENOENT i la seva descripció .
Si la utilitat errno no està instal·lada a la nostra màquina, mostrarà l'error de la següent manera:
Per instal·lar-lo, executeu l'ordre següent:
sudo apt install moreutils
En executar l'ordre anterior, el paquet moreutils s'instal·la a la nostra màquina que conté la utilitat errno.
Mostra la llista de codis d'error
Per mostrar la llista dels codis d'error, executeu l'ordre de la següent manera:
errno -l
L'ordre anterior mostrarà la llista de codis d'error de RedHat. Considereu la sortida següent:
Mostra la informació d'un número d'error
Per mostrar la informació d'un número d'error concret, executeu l'ordre de la següent manera:
errno 2
L'ordre anterior mostrarà la descripció de l'error número 2. Tingueu en compte la sortida següent:
Mostra la informació d'un nom d'error
Per mostrar la informació d'un nom d'error concret, executeu l'ordre errno, seguida del nom de l'error. Per exemple, per mostrar la informació d'un nom d'error 'ESRCH ,' executeu l'ordre de la següent manera:
errno ESRCH
L'ordre anterior mostrarà la informació sobre el nom de l'error especificat. Considereu la sortida següent:
Mostra l'error mitjançant cadenes
Per mostrar una descripció d'error mitjançant una cadena de la descripció, executeu l'ordre de la següent manera:
errno -s permission
L'ordre anterior mostrarà els errors la descripció dels quals conté permís de cadena. Considereu la sortida següent:
Llista d'errors del sistema Linux
A continuació es mostra una llista parcial dels possibles errors del sistema Linux:
Codi d'error | Error no | Descripció |
---|---|---|
Superior | 1 | Es mostra si l'operació no està permesa. |
ENOENT | 2 | Es mostra si no existeix aquest fitxer o directori. |
ESRCH | 3 | Es mostra si no existeix aquest procés. |
EINTR | 4 | Es mostra per a la trucada del sistema interrompuda |
EIO | 5 | Es mostra per error d'entrada/sortida. |
ENXIO | 6 | Es mostra si no existeix aquest dispositiu o adreça. |
E2BIG | 7 | Es mostra si la llista d'arguments és massa llarga. |
ENOEXEC | 8 | Es mostra si hi ha un error de format exec |
EBADF | 9 | Es mostra en cas d'un descriptor de fitxer incorrecte. |
ECHIL | 10 | Es mostra si no hi ha cap procés fill. |
DE NOSALTRES | 11 | Es mostra si el recurs no està disponible temporalment. |
ENOMEM | 12 | Es mostra si el sistema no pot assignar memòria. |
ACCÉS | 13 | Es mostra si es denega el permís. |
EFAULT | 14 | Es mostra si hi ha una mala adreça. |
ENOTBLK | 15 | Es mostra si cal bloquejar el dispositiu. |
OCUPADA | 16 | Es mostra si el dispositiu o el recurs està ocupat. |
EEXIST | 17 | Es mostra si el fitxer ja existeix. |
EXDEV | 18 | Es mostra si hi ha un enllaç entre dispositius no vàlid. |
ENODEV | 19 | Es mostra si no hi ha aquest dispositiu. |
ENOTDIR | 20 | Es mostra si no hi ha cap directori. |
EISDIR | 21 | Es mostra si hi ha un directori. |
ÚNICA Elecció | 22 | Es mostra si hi ha un argument no vàlid. |
POSAR-SE | 23 | Es mostra si hi ha massa fitxers oberts al sistema. |
MORTS | 24 | Es mostra si hi ha massa fitxers oberts. |
ENOTTY | 25 | Es mostra si hi ha un ioctl inadequat per al dispositiu. |
ETXTBSY | 26 | Es mostra si el fitxer de text està ocupat. |
EFBIG | 27 | Es mostra si el fitxer és massa gran. |
ENOSPC | 28 | Es mostra si no queda espai al dispositiu. |
ESPIPE | 29 | Es mostra en cas de recerca il·legal. |
EROFS | 30 | Es mostra en el cas del sistema de fitxers de només lectura. |
EMLINK | 31 | Es mostra si hi ha massa enllaços. |
EPIPE | 32 | Es mostra en cas de trencament de canonada. |
EDOM | 33 | Es mostra si l'argument numèric està fora del domini. |
ERANGE | 34 | Es mostra si el resultat numèric està fora de l'interval. |
EDEADLK | 35 | Es mostra si s'evita el bloqueig dels recursos. |
ENAMETOOLONG | 36 | Es mostra si el nom del fitxer és massa llarg. |
ENOLCK | 37 | Es mostra si no hi ha cap bloqueig disponible. |
ENOSIS | 38 | Es mostra si la funció no està implementada. |
ENOTEMPTIA | 39 | Es mostra si el directori no està buit. |
ELOOP | 40 | Es mostra si hi ha massa nivells d'enllaços simbòlics. |
ENOMSG | 42 | Es mostra si no hi ha cap missatge del tipus desitjat. |
EIDRM | 43 | Es mostra si s'elimina l'identificador. |
ECHRNG | 44 | Es mostra si el número de canal està fora de l'abast. |
EL2NSYNC | 45 | Es mostra si el nivell 2 no està sincronitzat. |
EL3HLT | 46 | Es mostra si el nivell 3 està aturat. |
EL3RST | 47 | Es mostra si es restableix el nivell 3. |
ELNRNG | 48 | Es mostra si el número d'enllaç està fora de l'abast. |
EUNATCH | 49 | Es mostra si el controlador de protocol no està connectat. |
ENOCSI | 50 | Es mostra si no hi ha cap estructura CSI disponible. |
EL2HLT | 51 | Es mostra si el nivell 2 està aturat. |
HA ESTAT | 52 | Es mostra en cas d'intercanvi no vàlid. |
EBADR | 53 | Es mostra en cas de descriptor de sol·licitud no vàlid. |
EXPLENA | 54 | Es mostra si l'intercanvi està ple. |
ENOANO | 55 | Es mostra en cas de Sense ànode. |
EBADRQC | 56 | Es mostra per a un codi de sol·licitud no vàlid. |
EBADSLT | 57 | Es mostra per a l'espai no vàlid. |
EBFONT | 59 | Es mostra si hi ha un format de fitxer de tipus de lletra incorrecte. |
ÚNICA | 60 | Es mostra si el dispositiu no és un flux. |
ENODATA | 61 | Es mostra si no hi ha dades disponibles. |
ETIME | 62 | Es mostra en cas que el temporitzador hagi expirat. |
ENOSR | 63 | Es mostra en cas de recursos fora de corrent. |
ENONET | 64 | Es mostra si la màquina no està a la xarxa. |
ENOPKG | 65 | Es mostra si el paquet no està instal·lat. |
Eremot | 66 | Es mostra si l'objecte és remot. |
ENOLINK | 67 | Es mostra si l'enllaç s'ha tallat. |
EADV | 68 | Es mostra per error de publicitat. |
ESRMNT | 69 | Es mostra per error Srmount. |
ECOMM | 70 | Es mostra si hi ha un error de comunicació en enviar. |
EPROTO | 71 | Es mostra per error de protocol. |
EMULTIHOP | 72 | Es mostra per a l'intent multisop. |
EDOTDOT | 73 | Es mostra per error específic de RFS. |
EBADMSG | 74 | Es mostra per Missatge dolent. |
OVERFLOW | 75 | Es mostra si el valor és massa gran per al tipus de dades definit. |
ENOTUNIQ | 76 | Es mostra si el nom no és únic a la xarxa. |
EBDFD | 77 | Es mostra si el descriptor del fitxer està en mal estat. |
EREMCHG | 78 | Es mostra si es canvia l'adreça remota. |
ELIBACC | 79 | Es mostra si no podem accedir a una biblioteca compartida necessària. |
ELIBBAD | 80 | Es mostra en cas d'accedir a una biblioteca compartida danyada. |
ELIBSCN | 81 | Es mostra si hi ha una secció .lib a a.out està danyada. |
ELIBMAX | 82 | Es mostra si estem intentant enllaçar en massa biblioteques compartides. |
ELIBEXEC | 83 | Es mostra si no podem executar una biblioteca compartida directament. |
EILSEQ | 84 | Es mostra per a un caràcter ample o multibyte no vàlid o incomplet |
ERESTART | 85 | Es mostra per informar que la trucada al sistema interrompuda s'ha de reiniciar. |
ESTRPIPE | 86 | Es mostra si hi ha un error de canalització de fluxos. |
EUSERS | 87 | Es mostra per a massa usuaris. |
ENOTSOCK | 88 | Es mostra per a l'operació de sòcols en no sòcols. |
EDESTADDRREQ | 89 | Es mostra si es requereix l'adreça de destinació. |
EMSGSIZE | 90 | Es mostra si el missatge és massa llarg. |
EPROTOTIP | 91 | Es mostra si el tipus de protocol és incorrecte per al sòcol. |
ENOPROTOOPT | 92 | Es mostra si el protocol no està disponible. |
SUPORT EPROTONOS | 93 | Es mostra si el protocol no és compatible. |
ESOCKTNOSSUPORT | 94 | Es mostra si el tipus de sòcol no és compatible. |
EOPNOTSUPP | 95 | Es mostra si l'operació no és compatible. |
SUPORT EPFNOS | 96 | Es mostra si la família de protocols no és compatible. |
EAFNOSSUPORT | 97 | Es mostra si la família d'adreces no és compatible amb el protocol. |
EADDRINUS | 98 | Es mostra si l'adreça ja està en ús. |
EADDRNOTAVAIL | 99 | Es mostra si el sistema no pot assignar l'adreça sol·licitada. |
ENETDOWN | 100 | Es mostra si la xarxa està baixa. |
ENETUNREACH | 101 | Es mostra si la xarxa no és accessible. |
ENETRESET | 102 | Es mostra si la xarxa ha caigut la connexió en restablir. |
ECONNABORAT | 103 | Es mostra si el programari ha provocat l'avortament de la connexió. |
ECONNRESET | 104 | Es mostra si la connexió es restableix per igual. |
ENOBUFS | 105 | Es mostra si no hi ha espai de memòria intermèdia disponible. |
ESCON | 106 | Es mostra si el punt final de transport ja està connectat. |
ENOTCONN | 107 | Es mostra si el punt final de transport no està connectat. |
APARAT | 108 | Es mostra si el sistema no pot enviar després de l'aturada del punt final de transport. |
ETOOMANYREFS | 109 | Es mostra si hi ha massa referències: no es pot empalmar. |
ETIMEDOUT | 110 | Es mostra si la connexió s'ha esgotat. |
ECONNREGUT | 111 | Es mostra si es denega la connexió. |
EHOSTDOWN | 112 | Es mostra si l'amfitrió està inactiu. |
EHOSTUNREACH | 113 | Es mostra si no hi ha cap ruta per allotjar. |
JA | 114 | Es mostra si l'operació ja està en curs. |
CADA PROGRÉS | 115 | Es mostra si l'operació està en curs. |
CLIC | 116 | Es mostra per a la identificació del fitxer obsolet. |
EUCLEAN | 117 | Es mostra si l'estructura necessita neteja. |
UNIFORME | 118 | Es mostra per no un fitxer de tipus XENIX. |
AVALUACIÓ | 119 | Es mostra si no hi ha semàfors XENIX disponibles. |
EISNAM | 120 | Es mostra si hi ha un fitxer de tipus anomenat. |
EREMOCIÓ | 121 | Es mostra per error d'E/S remota. |
EDQUOT | 122 | Es mostra si es supera la quota de disc. |
ENOMEDI | 123 | Es mostra si no s'ha trobat cap mitjà. |
TIPUS EMEDIUM | 124 | Es mostra si hi ha un tipus de mitjà incorrecte. |
ANNULAT | 125 | Es mostra si es cancel·la l'operació. |
ENOKEY | 126 | Es mostra si la clau necessària no està disponible. |
ECEY CADUCAT | 127 | Es mostra si la clau ha caducat. |
ULLS REVOCATS | 128 | Es mostra si la clau ha estat revocada. |
ULLS REBUJATS | 129 | Es mostra si la clau ha estat rebutjada pel servei. |
EOWNERDEAD | 130 | Es mostra si el propietari ha mort. |
ENOTRECUPERABLE | 131 | Es mostra sense estat recuperable. |
ERFKILL | 132 | Es mostra si l'operació no és possible a causa de RF-kill. |
EHWPOISON | 133 | Es mostra si la pàgina de memòria té un error de maquinari. |