logo

Codici di errore di Linux

I codici di errore Linux sono quei codici che vengono visualizzati se si verifica un errore nel sistema mentre si lavora o si utilizza un programma. Gli errori possono essere riconosciuti con l'aiuto dei codici di errore. I codici di errore ci aiutano a riconoscere la fonte dell'errore.

Se stiamo lavorando su un sistema Linux, è ovvio che potremmo riscontrare errori. Alcuni errori possono essere minori e non portare all'interruzione del programma. Ma possono verificarsi alcuni errori che possono causare l'interruzione della risposta di un sistema o di un programma. Questi errori possono portare alla perdita di dati o impedire il completamento del programma. Nella maggior parte dei casi gli errori vengono visualizzati sotto forma di codici o messaggi.

In questa sezione vedremo gli errori nella programmazione in C e un elenco di possibili errori nel file Linux sistema.

Errori di Linux nella programmazione in C

Un programmatore esperto dovrebbe sapere come gestire gli errori. Il linguaggio di programmazione C non fornisce supporto diretto per la gestione degli errori. Dobbiamo individuare la fonte dell'errore e affrontarla. Nel linguaggio C, i valori restituiti mostrano il fallimento o il successo. Se una funzione nel programma C fallisce, dobbiamo gestire l'errore di conseguenza; altrimenti registra gli errori per ultimi in un file di registro.

Durante l'esecuzione dei programmi C, potremmo notare alcuni numeri di errore come 'L'errore n. è: 17'. In questo caso l'errore n. 17 significa che il file esiste già. Ogni numero di errore ha un significato.

Il linguaggio C supporta una variabile 'errore .' Utilizzando questa variabile del numero di errore, possiamo utilizzare alcune funzioni di gestione degli errori per gestirla correttamente.

Per utilizzare il numero di errore della variabile esterna, dobbiamo includere un file di intestazione 'errno.h.' Il file di intestazione viene utilizzato per definire la variabile 'errno'. La variabile errno viene impostata dalle chiamate di sistema e dalle funzioni di libreria al verificarsi dell'errore. Ci sono due funzioni importanti in Linguaggio di programmazione C gestire gli errori; errore E strerro . La funzione perror viene utilizzata per stampare la descrizione dell'errore e la funzione sterror restituisce una stringa con il codice di errore.

Visualizziamo l'elenco dei codici di errore utilizzando errno.

Linux non è corretto

L'utilità errno viene utilizzata per cercare i codici errno, i nomi delle macro e le descrizioni corrispondenti. Ad esempio, se forniamo ENOENT su un sistema Linux, verrà visualizzato il codice 2 e la descrizione ' Nessun file o directory con questo nome .' Se forniamo il codice 2, verrà visualizzato il file ENOENT e la sua descrizione .

Se l'utilità errno non è installata sul nostro computer, visualizzerà l'errore come segue:

Codici di errore di Linux

Per installarlo, esegui il comando seguente:

 sudo apt install moreutils 

Eseguendo il comando precedente, sul nostro computer viene installato il pacchetto moreutils che contiene l'utilità errno.

Codici di errore di Linux

Visualizza l'elenco dei codici di errore

Per visualizzare l'elenco dei codici di errore, eseguire il comando come segue:

 errno -l 

Il comando precedente visualizzerà l'elenco dei codici di errore di RedHat. Considera l'output seguente:

Codici di errore di Linux

Visualizza le informazioni di un numero di errore

Per visualizzare le informazioni su un particolare numero di errore, eseguire il comando come segue:

 errno 2 

Il comando precedente visualizzerà la descrizione dell'errore numero 2. Considera l'output seguente:

Codici di errore di Linux

Visualizza le informazioni sul nome di un errore

Per visualizzare le informazioni su un particolare nome di errore, eseguire il comando errno, seguito dal nome dell'errore. Ad esempio, per visualizzare le informazioni sul nome di un errore 'ESRCH ,' esegui il comando come segue:

 errno ESRCH 

Il comando precedente visualizzerà le informazioni sul nome dell'errore specificato. Considera l'output seguente:

Codici di errore di Linux

Visualizza l'errore utilizzando le stringhe

Per visualizzare una descrizione dell'errore utilizzando una stringa dalla descrizione, eseguire il comando come segue:

 errno -s permission 

Il comando precedente visualizzerà gli errori la cui descrizione contiene l'autorizzazione della stringa. Considera l'output seguente:

Codici di errore di Linux

Elenco degli errori del sistema Linux

Di seguito è riportato un elenco parziale dei possibili errori del sistema Linux:

Codice di errore errore n Descrizione
Superiore 1 Viene visualizzato se l'operazione non è consentita.
ENOENTE 2 Viene visualizzato se non esiste un file o una directory di questo tipo.
ESRCH 3 Viene visualizzato se non esiste tale processo.
EINTR 4 Viene visualizzato per la chiamata di sistema interrotta
EIO 5 Viene visualizzato per errore di input/output.
ENXIO 6 Viene visualizzato se non esiste un dispositivo o un indirizzo di questo tipo.
E2BIG 7 Viene visualizzato se l'elenco degli argomenti è troppo lungo.
ENOEXEC 8 Viene visualizzato se è presente un errore nel formato exec
EBADF 9 Viene visualizzato in caso di descrittore di file errato.
ECHILD 10 Viene visualizzato se non esiste alcun processo figlio.
ANCORA undici Viene visualizzato se la risorsa è temporaneamente non disponibile.
ENOMEMA 12 Viene visualizzato se il sistema non può allocare memoria.
EACCES 13 Viene visualizzato se l'autorizzazione viene negata.
ERRORE 14 Viene visualizzato se è presente un indirizzo errato.
ENOTBLK quindici Viene visualizzato se è richiesto il dispositivo Blocca.
OCCUPATO 16 Viene visualizzato se il dispositivo o la risorsa sono occupati.
ESISTE 17 Viene visualizzato se il file esiste già.
EXDEV 18 Viene visualizzato se è presente un collegamento tra dispositivi non valido.
ENODEV 19 Viene visualizzato se non esiste un dispositivo di questo tipo.
ENOTDIR venti Viene visualizzato se non è presente una directory.
EISDIR ventuno Viene visualizzato se è presente una directory.
SCELTA UNICA 22 Viene visualizzato se è presente un argomento non valido.
METTERE 23 Viene visualizzato se ci sono troppi file aperti nel sistema.
MORTO 24 Viene visualizzato se ci sono troppi file aperti.
ENOTTITO 25 Viene visualizzato se è presente un ioctl inappropriato per il dispositivo.
ETXTBSY 26 Viene visualizzato se il file di testo è occupato.
EFBIG 27 Viene visualizzato se il file è troppo grande.
ENOSPC 28 Viene visualizzato se non c'è spazio rimasto sul dispositivo.
ESPIPE 29 Viene visualizzato in caso di ricerca illegale.
EROFS 30 Viene visualizzato in caso di file system di sola lettura.
EMLINK 31 Viene visualizzato se sono presenti troppi collegamenti.
EPIPE 32 Viene visualizzato in caso di tubo rotto.
EDOM 33 Viene visualizzato se l'argomento numerico è fuori dominio.
ARANCIO 3.4 Viene visualizzato se il risultato numerico è fuori intervallo.
EDEADLK 35 Viene visualizzato se viene evitato il deadlock delle risorse.
SMALTOLUNGO 36 Viene visualizzato se il nome del file è troppo lungo.
ENOLCK 37 Viene visualizzato se non sono disponibili serrature.
ENOSI 38 Viene visualizzato se la funzione non è implementata.
ENOTEMPTÀ 39 Viene visualizzato se la directory non è vuota.
ELOOP 40 Viene visualizzato se sono presenti troppi livelli di collegamenti simbolici.
ENOMSG 42 Viene visualizzato se non è presente alcun messaggio del tipo desiderato.
EIDRM 43 Viene visualizzato se l'identificatore viene rimosso.
ECHRNG 44 Viene visualizzato se il numero del canale è fuori range.
EL2NSINC Quattro cinque Viene visualizzato se il livello 2 non è sincronizzato.
EL3HLT 46 Viene visualizzato se il Livello 3 è interrotto.
EL3RST 47 Viene visualizzato se viene ripristinato il Livello 3.
ELNRNG 48 Viene visualizzato se il numero di collegamento è fuori intervallo.
EUNATCH 49 Viene visualizzato se il driver del protocollo non è collegato.
ENOCSI cinquanta Viene visualizzato se non è disponibile alcuna struttura CSI.
EL2HLT 51 Viene visualizzato se il Livello 2 è interrotto.
È STATO 52 Viene visualizzato in caso di scambio non valido.
EBADR 53 Viene visualizzato in caso di descrittore di richiesta non valido.
COMPLETO 54 Viene visualizzato se lo scambio è pieno.
ENOANO 55 Viene visualizzato in caso di assenza di anodo.
EBADRQC 56 Viene visualizzato per il codice di richiesta non valido.
EBADSLT 57 Viene visualizzato per lo slot non valido.
EBFONT 59 Viene visualizzato se è presente un formato file di font errato.
UNILATERALE 60 Viene visualizzato se il dispositivo non è uno stream.
ENODATA 61 Viene visualizzato se non ci sono dati disponibili.
TEMPO 62 Viene visualizzato nel caso in cui il timer sia scaduto.
ENOSR 63 Viene visualizzato in caso di risorse esaurite.
ENONET 64 Viene visualizzato se la macchina non è in rete.
ENOPKG 65 Viene visualizzato se il pacchetto non è installato.
EREMOTA 66 Viene visualizzato se l'oggetto è remoto.
ENOLINK 67 Viene visualizzato se il collegamento è stato interrotto.
EADV 68 Viene visualizzato per errore pubblicitario.
ESRMNT 69 Viene visualizzato per l'errore Srmount.
ECOMM 70 Viene visualizzato se si verifica un errore di comunicazione durante l'invio.
EPROTO 71 Viene visualizzato per errore di protocollo.
EMULTIHOP 72 Viene visualizzato per i tentativi Multihop.
EDOTDOT 73 Viene visualizzato per l'errore specifico di RFS.
EBADMSG 74 Viene visualizzato per Messaggio errato.
EOVERFLOW 75 Viene visualizzato se il valore è troppo grande per il tipo di dati definito.
ENOTUNIQ 76 Viene visualizzato se il nome non è univoco sulla rete.
EBADFD 77 Viene visualizzato se il descrittore del file è in cattivo stato.
EREMCHG 78 Viene visualizzato se l'indirizzo remoto viene modificato.
ELIBAC 79 Viene visualizzato se non è possibile accedere a una libreria condivisa necessaria.
ELIBBAD 80 Viene visualizzato in caso di accesso a una libreria condivisa danneggiata.
ELIBSCN 81 Viene visualizzato se la sezione .lib in a.out è danneggiata.
ELIBMAX 82 Viene visualizzato se stiamo tentando di collegarci a troppe librerie condivise.
ELIBEXEC 83 Viene visualizzato se non è possibile eseguire direttamente una libreria condivisa.
EILSEQ 84 Viene visualizzato per un carattere multibyte o wide non valido o incompleto
EREINIZIA 85 Viene visualizzato per informare che la chiamata di sistema interrotta deve essere riavviata.
ESTRAPIPE 86 Viene visualizzato se si verifica un errore nel pipe dei flussi.
EUSERS 87 Viene visualizzato da troppi utenti.
ENOTSOCK 88 Viene visualizzato per il funzionamento del socket su dispositivi non socket.
EDESTADDRREQ 89 Viene visualizzato se è richiesto l'indirizzo di destinazione.
EMSGSIZE 90 Viene visualizzato se il messaggio è troppo lungo.
EPROTOTIPO 91 Viene visualizzato se il protocollo è di tipo errato per il socket.
ENOPROTOOPT 92 Viene visualizzato se il protocollo non è disponibile.
SUPPORTO EPROTONOS 93 Viene visualizzato se il protocollo non è supportato.
ESOCKTNOSUPPORT 94 Viene visualizzato se il tipo di socket non è supportato.
EOPNOTSUPP 95 Viene visualizzato se l'operazione non è supportata.
SUPPORTO EPFNOS 96 Viene visualizzato se la famiglia di protocolli non è supportata.
SUPPORTO EAFNOS 97 Viene visualizzato se la famiglia di indirizzi non è supportata dal protocollo.
EADDRINUS 98 Viene visualizzato se l'indirizzo è già in uso.
EADDRNOTAVAIL 99 Viene visualizzato se il sistema non riesce ad assegnare l'indirizzo richiesto.
ENETDOWN 100 Viene visualizzato se la rete non è disponibile.
ENETUNREACH 101 Viene visualizzato se la rete non è raggiungibile.
ENETRESET 102 Viene visualizzato se la rete ha interrotto la connessione al ripristino.
ECONNABORTO 103 Viene visualizzato se il software ha causato l'interruzione della connessione.
ECONNRESET 104 Viene visualizzato se la connessione viene ripristinata dal peer.
ENOBUFS 105 Viene visualizzato se non è disponibile spazio nel buffer.
ESKON 106 Viene visualizzato se l'endpoint di trasporto è già connesso.
ENOTCONN 107 Viene visualizzato se l'endpoint di trasporto non è connesso.
SPEGNIMENTO 108 Viene visualizzato se il sistema non può inviare dopo l'arresto dell'endpoint di trasporto.
ETOOMANYREF 109 Viene visualizzato se ci sono troppi riferimenti: impossibile unire.
TEMPO ESAURITO 110 Viene visualizzato se la connessione è scaduta.
ECONNREFUSED 111 Viene visualizzato se la connessione viene rifiutata.
EHOSTDOWN 112 Viene visualizzato se l'Host è inattivo.
EOSTUNREACH 113 Viene visualizzato se non è presente alcun percorso verso l'host.
GIÀ 114 Viene visualizzato se l'operazione è già in corso.
OGNI PROGRESSO 115 Viene visualizzato se l'operazione è in corso.
CLIC 116 Viene visualizzato per l'handle del file non aggiornato.
EUCLEAN 117 Viene visualizzato se la struttura necessita di pulizia.
UNIFORME 118 Viene visualizzato per un file di tipo non denominato XENIX.
ENAVAIL 119 Viene visualizzato se non sono disponibili semafori XENIX.
EISNAM 120 Viene visualizzato se è presente un file di tipo denominato.
EREMOZIO 121 Viene visualizzato per errore I/O remoto.
EDQUOT 122 Viene visualizzato se viene superata la quota del disco.
ENOMEDIO 123 Viene visualizzato se non è stato trovato alcun supporto.
TIPO MEDIO 124 Viene visualizzato se è presente un tipo di supporto errato.
ECANCELLATO 125 Viene visualizzato se l'operazione viene annullata.
ENOKEY 126 Viene visualizzato se la chiave richiesta non è disponibile.
EKEYSCADUTA 127 Viene visualizzato se la chiave è scaduta.
EKEYREVOCATO 128 Viene visualizzato se la chiave è stata revocata.
EKEYREJECTED 129 Viene visualizzato se la chiave è stata rifiutata dal servizio.
EOWNERDEAD 130 Viene visualizzato se il proprietario è morto.
ENOTRERECUPERABILE 131 Viene visualizzato per uno stato non recuperabile.
ERFKILL 132 Viene visualizzato se l'operazione non è possibile a causa di RF-kill.
EHWVELENO 133 Viene visualizzato se la pagina di memoria presenta un errore hardware.