logo

Linux fejlkoder

Linux-fejlkoder er de koder, der vises, hvis der opstår en fejl i systemet, mens du arbejder eller bruger et program. Fejlene kan genkendes ved hjælp af fejlkoder. Fejlkoderne hjælper os med at genkende fejlkilden.

Hvis vi arbejder på et Linux-system, er det tydeligt, at vi kan støde på fejl. Nogle fejl kan være mindre og kan ikke føre til afbrydelse af programmet. Men der kan være nogle fejl, der kan få et system eller program til at holde op med at reagere. Disse fejl kan føre til tab af data eller kan forhindre programmet i at fuldføre. For det meste vises fejl i form af koder eller meddelelser.

I dette afsnit vil vi se fejl i C-programmering og en liste over mulige fejl i Linux system.

Linux-fejl i C-programmering

En dygtig programmør bør vide, hvordan man håndterer fejlene. C programmeringssprog giver ikke direkte støtte til fejlhåndtering. Vi skal opdage kilden til fejlen og håndtere den. I C-sprog viser returværdierne fejlen eller succesen. Hvis en funktion i C-programmet fejler, skal vi håndtere fejlen i overensstemmelse hermed; ellers registrerer den fejlene sidst i en logfil.

Mens vi udfører C-programmerne, vil vi muligvis bemærke nogle fejlnumre, såsom 'Fejl nr. er: 17'. Her betyder fejl nr. 17, at filen allerede eksisterer. Hvert fejlnummer har en eller anden betydning.

C-sproget understøtter en variabel 'fejl ikke .' Ved at bruge denne fejlnummervariabel kan vi bruge nogle fejlhåndteringsfunktioner til at håndtere den korrekt.

For at bruge den eksterne variabels fejlnummer skal vi inkludere en header-fil 'errno.h.' Header-filen bruges til at definere 'errno'-variablen. Errno-variablen indstilles af systemkaldene og biblioteksfunktionerne i fejlforekomsten. Der er to vigtige funktioner i C programmeringssprog at håndtere fejl; fejl og strerror . Perror-funktionen bruges til at udskrive fejlbeskrivelsen, og sterror-funktionen returnerer en streng med fejlkode.

Lad os vise listen over fejlkoder ved at bruge errno.

Linux fejl

Errno-værktøjet bruges til at slå fejlkoder, makronavne og de tilsvarende beskrivelser op. For eksempel, hvis vi leverer ENOENT på et Linux-system, vil det vise koden 2 og beskrivelse ' Ingen sådan fil eller mappe .' Hvis vi angiver koden 2, vil den vise ENOENT og dets beskrivelse .

Hvis errno utility ikke er installeret på vores maskine, vil den vise fejlen som følger:

Linux fejlkoder

For at installere det, udfør nedenstående kommando:

 sudo apt install moreutils 

Ved at udføre ovenstående kommando installeres moreutils-pakken på vores maskine, der indeholder errno-værktøjet.

Linux fejlkoder

Vis listen over fejlkoder

For at få vist listen over fejlkoder skal du udføre kommandoen som følger:

 errno -l 

Ovenstående kommando viser listen over fejlkoder fra RedHat. Overvej nedenstående output:

Linux fejlkoder

Vis oplysningerne om et fejlnummer

For at vise oplysningerne om et bestemt fejlnummer skal du udføre kommandoen som følger:

 errno 2 

Ovenstående kommando vil vise beskrivelsen af ​​fejl nummer 2. Overvej nedenstående output:

Linux fejlkoder

Vis oplysningerne om et fejlnavn

For at vise oplysningerne om et bestemt fejlnavn skal du udføre kommandoen errno efterfulgt af fejlnavnet. For eksempel for at vise oplysningerne om et fejlnavn 'ESRCH ,' udfør kommandoen som følger:

 errno ESRCH 

Ovenstående kommando vil vise oplysningerne om det angivne fejlnavn. Overvej nedenstående output:

Linux fejlkoder

Vis fejlen ved hjælp af strenge

For at vise en fejlbeskrivelse ved at bruge en streng fra beskrivelsen skal du udføre kommandoen som følger:

 errno -s permission 

Ovenstående kommando vil vise de fejl, hvis beskrivelse indeholder strengtilladelse. Overvej nedenstående output:

Linux fejlkoder

Liste over Linux-systemfejl

Følgende er en delvis liste over mulige fejl i Linux-systemet:

Fejlkode fejl nr Beskrivelse
Øverst 1 Den vises, hvis handlingen ikke er tilladt.
ENOENT 2 Det vises, hvis der ikke findes en sådan fil eller mappe.
ESRCH 3 Det vises, hvis der ikke findes en sådan proces.
EINTR 4 Det vises for afbrudt systemopkald
EIO 5 Det vises for input/output fejl.
ENXIO 6 Det vises, hvis der ikke findes en sådan enhed eller adresse.
E2BIG 7 Den vises, hvis argumentlisten er for lang.
ENOEXEC 8 Det vises, hvis der er en exec-formatfejl
EBADF 9 Det vises i tilfælde af dårlig filbeskrivelse.
ECHILD 10 Det vises, hvis der ikke er nogen underordnet proces.
IGEN elleve Det vises, hvis ressourcen er midlertidigt utilgængelig.
ENOMEM 12 Det vises, hvis systemet ikke kan allokere hukommelse.
EACCES 13 Det vises, hvis tilladelse nægtes.
EFAULT 14 Det vises, hvis der er en dårlig adresse.
ENOTBLK femten Det vises, hvis Bloker enhed er påkrævet.
TRAVL 16 Det vises, hvis enheden eller ressourcen er optaget.
EKSIST 17 Den vises, hvis filen allerede findes.
EXDEV 18 Det vises, hvis der er ugyldigt link på tværs af enheder.
ENODEV 19 Det vises, hvis der ikke er en sådan enhed.
ENOTDIR tyve Den vises, hvis der ikke er en mappe.
EISDIR enogtyve Det vises, hvis der er en mappe.
ENKELT VALG 22 Det vises, hvis der er et ugyldigt argument.
TAGE PÅ 23 Det vises, hvis der er for mange åbne filer i systemet.
DØD 24 Det vises, hvis der er for mange åbne filer.
ENOTTY 25 Det vises, hvis der er en upassende ioctl for enhed.
ETXTBSY 26 Det vises, hvis tekstfilen er optaget.
EFBIG 27 Det vises, hvis filen er for stor.
ENOSPC 28 Det vises, hvis der ikke er plads tilbage på enheden.
ESPIPE 29 Det vises i tilfælde af ulovlig søgning.
EROFS 30 Det vises i tilfælde af skrivebeskyttet filsystem.
EMLINK 31 Det vises, hvis der er for mange links.
EPIPE 32 Det vises i tilfælde af knækket rør.
EDOM 33 Det vises, hvis det numeriske argument er uden for domænet.
ERANGE 3. 4 Det vises, hvis det numeriske resultat er uden for rækkevidde.
EDEADLK 35 Det vises, hvis ressource-deadlock undgås.
ENAMETOOLONG 36 Det vises, hvis filnavnet er for langt.
ENOLCK 37 Det vises, hvis ingen låse er tilgængelige.
ENOSYS 38 Det vises, hvis funktionen ikke er implementeret.
ENOTEMME 39 Det vises, hvis biblioteket ikke er tomt.
LOOP 40 Det vises, hvis der er for mange niveauer af symbolske links.
ENOMSG 42 Den vises, hvis der ikke er nogen meddelelse af den ønskede type.
EIDRM 43 Det vises, hvis identifikationen er fjernet.
ECHRNG 44 Det vises, hvis kanalnummeret er uden for rækkevidde.
EL2NSYNC Fire. Fem Det vises, hvis niveau 2 ikke er synkroniseret.
EL3HLT 46 Det vises, hvis niveau 3 er standset.
EL3RST 47 Det vises, hvis niveau 3 er nulstillet.
ELNRNG 48 Det vises, hvis linknummeret er uden for rækkevidde.
EUNATCH 49 Den vises, hvis protokoldriveren ikke er tilsluttet.
ENOCSI halvtreds Det vises, hvis der ikke er nogen tilgængelig CSI-struktur.
EL2HLT 51 Det vises, hvis niveau 2 er standset.
DET HAR VÆRET 52 Det vises i tilfælde af ugyldig ombytning.
EBADR 53 Den vises i tilfælde af ugyldig anmodningsbeskrivelse.
UDFLYDENDE 54 Det vises, hvis udvekslingen er fuld.
ENOANO 55 Det vises i tilfælde af Ingen anode.
EBADRQC 56 Den vises for ugyldig anmodningskode.
EBADSLT 57 Den vises for ugyldig plads.
EBFONT 59 Det vises, hvis der er et dårligt skrifttypefilformat.
ENSIDIGT 60 Det vises, hvis enheden ikke er en stream.
ENODATA 61 Den vises, hvis der ikke er nogen tilgængelige data.
ETIME 62 Det vises, hvis timeren er udløbet.
ENOSR 63 Det vises i tilfælde af out of streams ressourcer.
ENONET 64 Det vises, hvis maskinen ikke er på netværket.
ENOPKG 65 Det vises, hvis pakken ikke er installeret.
EREMOTE 66 Det vises, hvis objektet er fjerntliggende.
ENOLINK 67 Det vises, hvis linket er blevet afbrudt.
EADV 68 Det vises for reklamefejl.
ESRMNT 69 Det vises for Srmount-fejl.
EKOMM 70 Det vises, hvis der er kommunikationsfejl ved afsendelse.
EPROTO 71 Det vises for protokolfejl.
EMULTIHOP 72 Det vises for Multihop forsøgt.
EDOTDOT 73 Det vises for RFS-specifik fejl.
EBADMSG 74 Den vises for Dårlig besked.
OVERFLØD 75 Den vises, hvis værdien er for stor til den definerede datatype.
ENOTUNIQ 76 Det vises, hvis navnet ikke er unikt på netværket.
EBADFD 77 Det vises, hvis filbeskrivelsen er i dårlig tilstand.
EREMCHG 78 Det vises, hvis fjernadressen ændres.
ELIBACC 79 Det vises, hvis vi ikke kan få adgang til et nødvendigt delt bibliotek.
ELIBBAD 80 Det vises i tilfælde af adgang til et beskadiget delt bibliotek.
ELIBSCN 81 Det vises, hvis der er .lib sektion i a.out er beskadiget.
ELIBMAX 82 Det vises, hvis vi forsøger at linke i for mange delte biblioteker.
ELIBEXEC 83 Det vises, hvis vi ikke kan udføre et delt bibliotek direkte.
EILSEQ 84 Det vises for et ugyldigt eller ufuldstændigt multibyte- eller bredt tegn
ERESTART 85 Det vises for at informere om, at afbrudt systemopkald skal genstartes.
ESTRAPIPE 86 Det vises, hvis der er streams pipe fejl.
BRUGERE 87 Det vises for for mange brugere.
ENOTSOCK 88 Det vises for socketdrift på ikke-socket.
EDESTADDRREQ 89 Det vises, hvis destinationsadressen er påkrævet.
EMSGSIZE 90 Den vises, hvis meddelelsen er for lang.
EPROTOTYPE 91 Det vises, hvis protokollen er en forkert type for socket.
ENOPROTOOPT 92 Den vises, hvis protokollen ikke er tilgængelig.
EPROTONOSUPPORT 93 Det vises, hvis protokollen ikke understøttes.
ESOCKTNOSUPPORT 94 Den vises, hvis Socket-typen ikke understøttes.
EOPNOTSUPP 95 Det vises, hvis handlingen ikke understøttes.
EPFNOSUPPORT 96 Det vises, hvis protokolfamilien ikke understøttes.
EAFNOSUPPORT 97 Den vises, hvis adressefamilien ikke understøttes af protokol.
EADDRINUS 98 Den vises, hvis adressen allerede er i brug.
EADDRNOTAVAIL 99 Den vises, hvis systemet ikke kan tildele den ønskede adresse.
ENETDOWN 100 Det vises, hvis netværket er nede.
ENETUNREACH 101 Det vises, hvis netværket ikke er tilgængeligt.
ENETRESET 102 Det vises, hvis netværket har afbrudt forbindelsen ved nulstilling.
ECONNABORTET 103 Det vises, hvis software forårsagede afbrydelse af forbindelsen.
ECONNRESET 104 Det vises, hvis forbindelsen nulstilles af peer.
ENOBUFS 105 Det vises, hvis der ikke er nogen bufferplads til rådighed.
ESKON 106 Det vises, hvis transportendepunktet allerede er tilsluttet.
ENOTCONN 107 Det vises, hvis transportendepunktet ikke er tilsluttet.
ESHUTDOWN 108 Det vises, hvis systemet ikke kan sende efter nedlukning af transportendepunkt.
ETOOMANYREFS 109 Det vises, hvis der er for mange referencer: kan ikke splejse.
ETIMEOUT 110 Det vises, hvis forbindelsen er timeout.
ECONNREFUSED 111 Det vises, hvis forbindelsen nægtes.
EHOSTDOWN 112 Det vises, hvis værten er nede.
EHOSTUNREACH 113 Det vises, hvis der ikke er nogen rute til vært.
ALLEREDE KLAR 114 Det vises, hvis handlingen allerede er i gang.
HVER FREMGANG 115 Det vises, hvis handlingen nu er i gang.
KLIK 116 Det vises for forældet filhåndtag.
EUCLEAN 117 Det vises, hvis strukturen skal renses.
UNIFORM 118 Det vises ikke for en XENIX-navngivet typefil.
UNDERSØG 119 Det vises, hvis der ikke er nogen tilgængelige XENIX-semaforer.
EISNAM 120 Den vises, hvis der er en navngivet typefil.
EREMOTIO 121 Det vises for Remote I/O-fejl.
EDQUOT 122 Det vises, hvis diskkvoten overskrides.
ENOMEDIUM 123 Det vises, hvis der ikke er fundet et medium.
EMEDIUMTYPE 124 Det vises, hvis der er en forkert mediumtype.
AFLYST 125 Det vises, hvis handlingen annulleres.
ENOKEY 126 Den vises, hvis den nødvendige nøgle ikke er tilgængelig.
EKEYEXPIRED 127 Det vises, hvis nøglen er udløbet.
EKEY TILBAGET 128 Det vises, hvis nøglen er blevet tilbagekaldt.
EKEY AFVISET 129 Det vises, hvis nøglen blev afvist af service.
EOWNERDØD 130 Det vises, hvis ejeren er død.
ENOT GENDANNELSE 131 Det vises for ingen genoprettelig tilstand.
ERFKILL 132 Det vises, hvis operationen ikke er mulig på grund af RF-dræbning.
EHWPOISON 133 Det vises, hvis hukommelsessiden har hardwarefejl.