logo

Codes d'erreur Linux

Les codes d'erreur Linux sont les codes qui s'affichent si une erreur se produit dans le système pendant le travail ou l'utilisation d'un programme. Les erreurs peuvent être reconnues à l'aide de codes d'erreur. Les codes d'erreur nous aident à reconnaître la source de l'erreur.

Si nous travaillons sur un système Linux, il est évident que nous pouvons rencontrer des erreurs. Certaines erreurs peuvent être mineures et ne peuvent pas entraîner une interruption du programme. Mais certaines erreurs peuvent empêcher un système ou un programme de répondre. Ces erreurs peuvent entraîner une perte de données ou empêcher le programme de se terminer. La plupart du temps, les erreurs sont affichées sous forme de codes ou de messages.

Dans cette section, nous verrons les erreurs dans la programmation C et une liste des erreurs possibles dans le Linux système.

Erreurs Linux dans la programmation C

Un programmeur expérimenté doit savoir comment gérer les erreurs. Le langage de programmation C ne fournit pas de prise en charge directe de la gestion des erreurs. Nous devons détecter la source de l’erreur et y remédier. En langage C, les valeurs de retour affichent l'échec ou le succès. Si une fonction du programme C échoue, nous devons gérer l'erreur en conséquence ; sinon, il enregistre les erreurs en dernier dans un fichier journal.

Lors de l'exécution des programmes C, nous pouvons remarquer certains numéros d'erreur tels que « L'erreur n° est : 17 ». Ici, l'erreur n°17 ​​signifie que le fichier existe déjà. Chaque numéro d'erreur a une signification.

Le langage C supporte une variable 'erreur .' En utilisant cette variable de numéro d'erreur, nous pouvons utiliser certaines fonctions de gestion des erreurs pour la gérer correctement.

Pour utiliser le numéro d'erreur de la variable externe, nous devons inclure un fichier d'en-tête 'errno.h.' Le fichier d'en-tête est utilisé pour définir la variable 'errno'. La variable errno est définie par les appels système et les fonctions de bibliothèque dans l'occurrence d'erreur. Il y a deux fonctions importantes dans le Langage de programmation C gérer les erreurs; perrreur et erreur . La fonction perror est utilisée pour imprimer la description de l'erreur et la fonction sterror renvoie une chaîne contenant un code d'erreur.

Affichons la liste des codes d'erreur en utilisant errno.

Numéro d'erreur Linux

L'utilitaire errno est utilisé pour rechercher les codes d'erreur, les noms de macro et les descriptions correspondantes. Par exemple, si nous fournissons ENOENT sur un système Linux, il affichera le code 2 et la description ' Aucun fichier ou répertoire de ce nom .' Si nous fournissons le code 2, alors il affichera le ENOENT et sa description .

Si l'utilitaire errno n'est pas installé sur notre machine, il affichera l'erreur comme suit :

Codes d'erreur Linux

Pour l'installer, exécutez la commande ci-dessous :

 sudo apt install moreutils 

En exécutant la commande ci-dessus, le package moreutils est installé sur notre machine qui contient l'utilitaire errno.

Codes d'erreur Linux

Afficher la liste des codes d'erreur

Pour afficher la liste des codes d'erreur, exécutez la commande comme suit :

 errno -l 

La commande ci-dessus affichera la liste des codes d'erreur de RedHat. Considérez le résultat ci-dessous :

Codes d'erreur Linux

Afficher les informations d'un numéro d'erreur

Pour afficher les informations d'un numéro d'erreur particulier, exécutez la commande comme suit :

 errno 2 

La commande ci-dessus affichera la description de l'erreur numéro 2. Considérez le résultat ci-dessous :

Codes d'erreur Linux

Afficher les informations d'un nom d'erreur

Pour afficher les informations d'un nom d'erreur particulier, exécutez la commande errno, suivie du nom de l'erreur. Par exemple, pour afficher les informations d'un nom d'erreur 'ESRCH ,' exécutez la commande comme suit :

 errno ESRCH 

La commande ci-dessus affichera les informations sur le nom de l'erreur spécifié. Considérez le résultat ci-dessous :

Codes d'erreur Linux

Afficher l'erreur à l'aide de chaînes

Pour afficher une description d'erreur à l'aide d'une chaîne de la description, exécutez la commande comme suit :

 errno -s permission 

La commande ci-dessus affichera les erreurs dont la description contient une autorisation de chaîne. Considérez le résultat ci-dessous :

Codes d'erreur Linux

Liste des erreurs du système Linux

Voici une liste partielle des erreurs possibles du système Linux :

Code d'erreur erreur non Description
Supérieur 1 Il s'affiche si l'opération n'est pas autorisée.
ÉNOENT 2 Il s'affiche s'il n'existe aucun fichier ou répertoire de ce type.
ESRCH 3 Il s'affiche si aucun processus de ce type n'existe.
EINTR 4 Il est affiché pour un appel système interrompu
EIO 5 Il s'affiche en cas d'erreur d'entrée/sortie.
ENXIO 6 Il s’affiche s’il n’existe aucun appareil ou adresse de ce type.
E2BIG 7 Il s'affiche si la liste d'arguments est trop longue.
ENOEXEC 8 Il s'affiche s'il y a une erreur de format d'exécution
EBADF 9 Il s'affiche en cas de mauvais descripteur de fichier.
ENFANT dix Il s'affiche s'il n'existe aucun processus enfant.
ENCORE onze Il s'affiche si la ressource est temporairement indisponible.
ENOMEM 12 Il s'affiche si le système ne peut pas allouer de mémoire.
ACCÈS 13 Il s'affiche si l'autorisation est refusée.
DÉFAUT 14 Il s'affiche s'il y a une mauvaise adresse.
ENOTBLK quinze Il s'affiche si le blocage du périphérique est requis.
OCCUPÉ 16 Il s'affiche si l'appareil ou la ressource est occupé.
EXISTE 17 Il s'affiche si le fichier existe déjà.
EXDEV 18 Il s’affiche s’il existe un lien inter-appareils non valide.
ENODEV 19 Il s'affiche s'il n'existe pas de tel appareil.
ENOTDIR vingt Il s'affiche s'il n'y a pas de répertoire.
EISDIR vingt-et-un Il s'affiche s'il existe un répertoire.
CHOIX UNIQUE 22 Il s'affiche s'il existe un argument invalide.
ENFILE 23 Il s'affiche s'il y a trop de fichiers ouverts dans le système.
MORT 24 Il s'affiche s'il y a trop de fichiers ouverts.
ENOTTY 25 Il s'affiche s'il existe un ioctl inapproprié pour le périphérique.
ETXTBSY 26 Il s'affiche si le fichier texte est occupé.
EFBIG 27 Il s'affiche si le fichier est trop volumineux.
ENOSPC 28 Il s'affiche s'il n'y a plus d'espace sur l'appareil.
ESPIPÉ 29 Il s'affiche en cas de recherche illégale.
EROFS 30 Il s'affiche dans le cas d'un système de fichiers en lecture seule.
EMLINK 31 Il s'affiche s'il y a trop de liens.
ÉPIPE 32 Il s'affiche en cas de canalisation cassée.
ÉDOM 33 Il s'affiche si l'argument numérique est hors domaine.
ÉRANGE 3.4 Il s'affiche si le résultat numérique est hors plage.
EDEADLK 35 Il s'affiche si le blocage des ressources est évité.
ÉNAMETOOLONG 36 Il s'affiche si le nom du fichier est trop long.
ENOLCK 37 Il s'affiche si aucun verrou n'est disponible.
ÉNOSYS 38 Il s'affiche si la fonction n'est pas implémentée.
ÉNOTEMPTÉE 39 Il s'affiche si le répertoire n'est pas vide.
ÉLOOP 40 Il s'affiche s'il y a trop de niveaux de liens symboliques.
ENOMSG 42 Il s'affiche s'il n'y a pas de message du type souhaité.
EIDRM 43 Il s'affiche si l'identifiant est supprimé.
ECHRNG 44 Il s'affiche si le numéro de canal est hors de portée.
EL2NSYNC Quatre cinq Il s'affiche si le niveau 2 n'est pas synchronisé.
EL3HLT 46 Il s'affiche si le niveau 3 est arrêté.
EL3RST 47 Il s'affiche si le niveau 3 est réinitialisé.
ELNRNG 48 Il s'affiche si le numéro de lien est hors plage.
EUNATCH 49 Il s'affiche si le pilote de protocole n'est pas connecté.
ÉNOCSI cinquante Il s'affiche si aucune structure CSI n'est disponible.
EL2HLT 51 Il s'affiche si le niveau 2 est arrêté.
IL A ÉTÉ 52 Il s'affiche en cas d'échange invalide.
EBADR 53 Il s'affiche en cas de descripteur de requête invalide.
EXTRAIT 54 Il s'affiche si l'échange est plein.
ÉNOANO 55 Il s'affiche en cas d'absence d'anode.
EBADRQC 56 Il s'affiche en cas de code de demande invalide.
EBADSLT 57 Il s'affiche pour un emplacement non valide.
EBFONT 59 Il s'affiche en cas de mauvais format de fichier de police.
UNILATÉRAL 60 Il s'affiche si le périphérique n'est pas un flux.
ENODONNEES 61 Il s'affiche si aucune donnée n'est disponible.
ETIME 62 Il s'affiche en cas d'expiration du minuteur.
ÉNOSR 63 Il est affiché en cas de ressources de flux épuisées.
ÉNONET 64 Il s'affiche si la machine n'est pas sur le réseau.
ENOPKG 65 Il s'affiche si le package n'est pas installé.
ÉRÉMOTE 66 Il s'affiche si l'objet est distant.
ENOLINK 67 Il s'affiche si le lien a été rompu.
EADV 68 Il s'affiche en cas d'erreur de publicité.
ESRMNT 69 Il s'affiche pour l'erreur Srmount.
ECOMM 70 Il s'affiche s'il y a une erreur de communication lors de l'envoi.
ÉPROTO 71 Il s'affiche en cas d'erreur de protocole.
ÉMULTIHOP 72 Il s'affiche pour toute tentative de multisaut.
ÉDOTDOT 73 Il s'affiche pour une erreur spécifique à RFS.
EBADMSG 74 Il s'affiche pour un message incorrect.
EOVERFLOW 75 Il s'affiche si la valeur est trop grande pour le type de données défini.
ÉNOTUNIQ 76 Il s'affiche si le nom n'est pas unique sur le réseau.
EBADFD 77 Il s'affiche si le descripteur de fichier est en mauvais état.
EREMCCHG 78 Il s'affiche si l'adresse distante est modifiée.
ÉLIBACC 79 Il s'affiche si nous ne pouvons pas accéder à une bibliothèque partagée nécessaire.
ÉLIBBAD 80 Il s'affiche en cas d'accès à une bibliothèque partagée corrompue.
ELIBSCN 81 Il s'affiche si une section .lib dans un.out est corrompue.
ELIBMAX 82 Il s'affiche si nous essayons de créer des liens vers trop de bibliothèques partagées.
ELIBEXEC 83 Il s'affiche si nous ne pouvons pas exécuter directement une bibliothèque partagée.
EILSEQ 84 Il s'affiche pour un caractère multi-octets ou large non valide ou incomplet.
ERESTART 85 Il s'affiche pour informer que l'appel système interrompu doit être redémarré.
ESTRIPPE 86 Il s’affiche s’il y a une erreur de canal de flux.
UTILISATEURS EU 87 Il s'affiche pour un trop grand nombre d'utilisateurs.
ENOTSOCK 88 Il est affiché pour le fonctionnement du socket sur un non-socket.
EDESTADDRREQ 89 Il s'affiche si l'adresse de destination est requise.
TAILLE EMS 90 Il s'affiche si le message est trop long.
ÉPROTOTYPE 91 Il s'affiche si le protocole n'est pas du bon type pour le socket.
ÉNOPROTOOPT 92 Il s'affiche si le protocole n'est pas disponible.
SOUTIEN ÉPROTONOS 93 Il s'affiche si le protocole n'est pas pris en charge.
ESOCKTNOSUPPORT 94 Il s'affiche si le type Socket n'est pas pris en charge.
EOPNOTSUPP 95 Il s'affiche si l'opération n'est pas prise en charge.
SUPPORT EPFNOS 96 Il s'affiche si la famille de protocoles n'est pas prise en charge.
SOUTIEN EAFNOS 97 Il s'affiche si la famille d'adresses n'est pas prise en charge par le protocole.
EADDRINUS 98 Il s'affiche si l'adresse est déjà utilisée.
EADDRNOTADISPONIBLE 99 Il s'affiche si le système ne peut pas attribuer l'adresse demandée.
ENETDOWN 100 Il s'affiche si le réseau est en panne.
ENETUNREACH 101 Il s'affiche si le réseau est inaccessible.
ENTRESET 102 Il s'affiche si le réseau a perdu la connexion lors de la réinitialisation.
ÉCONNABORTÉ 103 Il s'affiche si le logiciel a provoqué l'interruption de la connexion.
RÉINITIALISATION ÉCONOMIQUE 104 Il s'affiche si la connexion est réinitialisée par un homologue.
ENOBUFS 105 Il s'affiche s'il n'y a pas d'espace tampon disponible.
ESCON 106 Il s'affiche si le point de terminaison de transport est déjà connecté.
ENOTCONN 107 Il s'affiche si le point de terminaison de transport n'est pas connecté.
ARRÊT 108 Il s'affiche si le système ne peut pas envoyer après l'arrêt du point de terminaison de transport.
ETOOMANYREFS 109 Il s'affiche s'il y a trop de références : impossible de raccorder.
ETIMEDOUT 110 Il s'affiche si la connexion a expiré.
ÉCONNRÉFUSÉ 111 Il s'affiche si la connexion est refusée.
EHOSTDOWN 112 Il s'affiche si l'hôte est en panne.
EHOSTUNREACH 113 Il s'affiche s'il n'y a pas de route vers l'hôte.
DÉJÀ 114 Il s'affiche si l'opération est déjà en cours.
CHAQUE PROGRÈS 115 Il s'affiche si l'opération est en cours.
CLIQUEZ SUR 116 Il s’affiche pour le descripteur de fichier périmé.
EUCLEAN 117 Il s'affiche si la structure doit être nettoyée.
UNIFORME 118 Il s'affiche pour un fichier de type non nommé XENIX.
ENVAIL 119 Il s'affiche si aucun sémaphore XENIX n'est disponible.
EISNAM 120 Il s'affiche s'il existe un fichier de type nommé.
EREMOTION 121 Il s'affiche en cas d'erreur d'E/S distantes.
EDQUOT 122 Il s'affiche si le quota de disque est dépassé.
ÉNOMÉDIUM 123 Il s'affiche si aucun support n'est trouvé.
TYPE MOYEN 124 Il s'affiche en cas de type de support incorrect.
ÉCANNÉ 125 Il s'affiche si l'opération est annulée.
ENOKEY 126 Il s'affiche si la clé requise n'est pas disponible.
EKEYEXPIRÉ 127 Il s'affiche si la clé a expiré.
EKEYREVOKÉ 128 Il s'affiche si la clé a été révoquée.
EKEYREJETÉ 129 Il s'affiche si la clé a été rejetée par le service.
PROPRIÉTAIRE MORT 130 Il s'affiche si le propriétaire est décédé.
ÉNOTRÉCUPÉRABLE 131 Il s'affiche en cas d'état non récupérable.
ERFTUER 132 Il s'affiche si l'opération n'est pas possible en raison d'un RF-kill.
EHWPOISON 133 Il s'affiche si la page mémoire présente une erreur matérielle.