logo

Codis d'error de Linux

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:

Codis d'error de Linux

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.

Codis d'error de Linux

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:

Codis d'error de Linux

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:

Codis d'error de Linux

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:

Codis d'error de Linux

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:

Codis d'error de Linux

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.