logo

Linux feilkoder

Linux-feilkoder er de kodene som vises hvis det oppstår en feil i systemet mens du arbeider eller bruker et program. Feilene kan gjenkjennes ved hjelp av feilkoder. Feilkodene hjelper oss med å gjenkjenne feilkilden.

Hvis vi jobber med et Linux-system, er det åpenbart at vi kan støte på feil. Noen feil kan være mindre og kan ikke føre til avbrudd i programmet. Men det kan være noen feil som kan føre til at et system eller program slutter å svare. Disse feilene kan føre til tap av data eller kan hindre programmet i å fullføres. For det meste vises feil i form av koder eller meldinger.

I denne delen vil vi se feil i C-programmering og en liste over mulige feil i Linux system.

Linux-feil i C-programmering

En dyktig programmerer bør vite hvordan man håndterer feilene. C programmeringsspråk gir ikke direkte støtte for feilhåndtering. Vi må oppdage kilden til feilen og håndtere den. I C-språk viser returverdiene feilen eller suksessen. Hvis en funksjon i C-programmet feiler, må vi håndtere feilen deretter; ellers registrerer den feilene sist i en loggfil.

Mens vi kjører C-programmene, kan vi legge merke til noen feilnumre som 'Feilnummer er: 17'. Her betyr feil nr 17 at filen allerede eksisterer. Hvert feilnummer har en viss betydning.

C-språket støtter en variabel 'feil ikke .' Ved å bruke denne feilnummervariabelen kan vi bruke noen feilhåndteringsfunksjoner for å håndtere den riktig.

For å bruke det eksterne variabelens feilnummer, må vi inkludere en overskriftsfil 'errno.h.' Header-filen brukes til å definere 'errno'-variabelen. Errno-variabelen settes av systemanrop og bibliotekfunksjoner i feilforekomsten. Det er to viktige funksjoner i C programmeringsspråk å håndtere feil; feil og strerror . Perror-funksjonen brukes til å skrive ut feilbeskrivelsen og sterror-funksjonen returnerer en streng med feilkode.

La oss vise listen over feilkoder ved å bruke errno.

Linux feil

Errno-verktøyet brukes til å slå opp feilkoder, makronavn og tilhørende beskrivelser. For eksempel, hvis vi leverer ENOENT på et Linux-system, vil det vise koden 2 og beskrivelse ' Ingen slik fil eller katalog .' Hvis vi oppgir koden 2, vil den vise ENOENT og dens beskrivelse .

Hvis errno-verktøyet ikke er installert på maskinen vår, vil det vise feilen som følger:

Linux feilkoder

For å installere det, kjør kommandoen nedenfor:

 sudo apt install moreutils 

Ved å utføre kommandoen ovenfor, installeres moreutils-pakken på maskinen vår som inneholder errno-verktøyet.

Linux feilkoder

Vis listen over feilkoder

For å vise listen over feilkoder, kjør kommandoen som følger:

 errno -l 

Kommandoen ovenfor vil vise listen over feilkoder fra RedHat. Tenk på utgangen nedenfor:

Linux feilkoder

Vis informasjon om et feilnummer

For å vise informasjonen om et bestemt feilnummer, kjør kommandoen som følger:

 errno 2 

Kommandoen ovenfor vil vise beskrivelsen av feil nummer 2. Tenk på utgangen nedenfor:

Linux feilkoder

Vis informasjonen om et feilnavn

For å vise informasjonen om et bestemt feilnavn, utfør errno-kommandoen, etterfulgt av feilnavnet. For eksempel for å vise informasjon om et feilnavn 'ESRCH ,' utfør kommandoen som følger:

 errno ESRCH 

Kommandoen ovenfor vil vise informasjonen om det angitte feilnavnet. Tenk på utgangen nedenfor:

Linux feilkoder

Vis feilen ved hjelp av strenger

For å vise en feilbeskrivelse ved å bruke en streng fra beskrivelsen, kjør kommandoen som følger:

 errno -s permission 

Kommandoen ovenfor vil vise feilene hvis beskrivelse inneholder strengtillatelse. Tenk på utgangen nedenfor:

Linux feilkoder

Liste over Linux-systemfeil

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

Feil kode feil nr Beskrivelse
Øverste 1 Den vises hvis operasjonen ikke er tillatt.
ENOENT 2 Den vises hvis det ikke finnes en slik fil eller katalog.
ESRCH 3 Det vises hvis det ikke finnes en slik prosess.
EITR 4 Det vises for avbrutt systemanrop
EIO 5 Det vises for input/output feil.
ENXIO 6 Den vises hvis det ikke finnes en slik enhet eller adresse.
E2BIG 7 Den vises hvis argumentlisten er for lang.
ENOEXEC 8 Det vises hvis det er en exec-formatfeil
EBADF 9 Den vises i tilfelle dårlig filbeskrivelse.
ECHILD 10 Det vises hvis det ikke finnes noen underordnet prosess.
IGJEN elleve Den vises hvis ressursen er midlertidig utilgjengelig.
ENOMEM 12 Den vises hvis systemet ikke kan tildele minne.
TILGANG 1. 3 Den vises hvis tillatelse nektes.
EFAULT 14 Den vises hvis det er en dårlig adresse.
ENOTBLK femten Det vises hvis Blokker enhet er nødvendig.
OPPTATT 16 Den vises hvis enheten eller ressursen er opptatt.
EKSISTERER 17 Den vises hvis filen allerede eksisterer.
EXDEV 18 Den vises hvis det er ugyldig kobling på tvers av enheter.
ENODEV 19 Den vises hvis det ikke finnes en slik enhet.
ENOTDIR tjue Den vises hvis det ikke er en katalog.
EISDIR tjueen Den vises hvis det er en katalog.
ENKELTVALG 22 Det vises hvis det er et ugyldig argument.
TA PÅ 23 Det vises hvis det er for mange åpne filer i systemet.
DØD 24 Den vises hvis det er for mange åpne filer.
ENOTTY 25 Det vises hvis det er en upassende ioctl for enheten.
ETXTBSY 26 Den vises hvis tekstfilen er opptatt.
EFBIG 27 Den vises hvis filen er for stor.
ENOSPC 28 Den vises hvis det ikke er plass igjen på enheten.
ESPIPE 29 Den vises i tilfelle ulovlig søking.
EROFS 30 Det vises i tilfelle skrivebeskyttet filsystem.
EMLINK 31 Den vises hvis det er for mange lenker.
EPIPE 32 Den vises i tilfelle rørbrudd.
EDOM 33 Det vises hvis det numeriske argumentet er utenfor domenet.
ERANGE 3. 4 Det vises hvis det numeriske resultatet er utenfor området.
EDEADLK 35 Det vises hvis ressursstopp unngås.
ENAMETOOLONG 36 Det vises hvis filnavnet er for langt.
ENOLCK 37 Den vises hvis ingen låser er tilgjengelige.
ENOSYS 38 Den vises hvis funksjonen ikke er implementert.
ENOTEMME 39 Den vises hvis katalogen ikke er tom.
SLUKK 40 Det vises hvis det er for mange nivåer av symbolske lenker.
ENOMSG 42 Den vises hvis det ikke er noen melding av ønsket type.
EIDRM 43 Den vises hvis identifikatoren er fjernet.
ECHRNG 44 Det vises hvis kanalnummeret er utenfor rekkevidde.
EL2NSYNC Fire fem Den vises hvis nivå 2 ikke er synkronisert.
EL3HLT 46 Det vises hvis nivå 3 er stoppet.
EL3RST 47 Det vises hvis nivå 3 er tilbakestilt.
ELNRNG 48 Det vises hvis koblingsnummeret er utenfor rekkevidde.
EUNATCH 49 Den vises hvis protokolldriveren ikke er tilkoblet.
ENOCSI femti Den vises hvis det ikke er noen tilgjengelig CSI-struktur.
EL2HLT 51 Det vises hvis nivå 2 er stoppet.
DET HAR VÆRT 52 Den vises i tilfelle ugyldig bytte.
EBADR 53 Den vises i tilfelle ugyldig forespørselsbeskrivelse.
EXFULL 54 Det vises hvis utvekslingen er full.
ENOANO 55 Det vises i tilfelle Ingen anode.
EBADRQC 56 Den vises for ugyldig forespørselskode.
EBADSLT 57 Det vises for ugyldig spor.
EBFONT 59 Det vises hvis det er dårlig skriftformat.
ENSIDIG 60 Den vises hvis enheten ikke er en strøm.
ENODATA 61 Den vises hvis det ikke er data tilgjengelig.
ETIME 62 Den vises i tilfelle timeren er utløpt.
ENOSR 63 Det vises i tilfelle ressurser uten strøm.
ENONET 64 Den vises hvis maskinen ikke er på nettverket.
ENOPKG 65 Den vises hvis pakken ikke er installert.
EREMOTE 66 Det vises hvis objektet er eksternt.
ENOLINK 67 Den vises hvis koblingen er brutt.
EADV 68 Det vises for reklamefeil.
ESRMNT 69 Det vises for Srmount-feil.
EKOMM 70 Det vises hvis det er kommunikasjonsfeil ved sending.
EPROTO 71 Det vises for protokollfeil.
EMULTIHOPPE 72 Det vises for Multihop forsøkt.
EDOTDOT 73 Den vises for RFS-spesifikk feil.
EBADMSG 74 Den vises for Dårlig melding.
OVERFLØT 75 Den vises hvis verdien er for stor for definert datatype.
ENOTUNIQ 76 Det vises hvis navnet ikke er unikt på nettverket.
EBADFD 77 Den vises hvis filbeskrivelsen er i dårlig tilstand.
EREMCHG 78 Den vises hvis den eksterne adressen endres.
ELIBACC 79 Det vises hvis vi ikke får tilgang til et nødvendig delt bibliotek.
ELIBBAD 80 Den vises i tilfelle tilgang til et ødelagt delt bibliotek.
ELIBSCN 81 Det vises hvis det er .lib-seksjon i a.out er ødelagt.
ELIBMAX 82 Det vises hvis vi prøver å koble til for mange delte biblioteker.
ELIBEXEC 83 Det vises hvis vi ikke kan utføre et delt bibliotek direkte.
EILSEQ 84 Det vises for et ugyldig eller ufullstendig multibyte eller bredt tegn
ERESTART 85 Det vises for å informere om at avbrutt systemanrop bør startes på nytt.
ESTRAPIP 86 Det vises hvis det er streams pipe feil.
EUSERS 87 Det vises for for mange brukere.
ENOTSOCK 88 Det vises for socketdrift på ikke-socket.
EDESTADDRREQ 89 Den vises hvis destinasjonsadressen er nødvendig.
EMSGSIZE 90 Den vises hvis meldingen er for lang.
EPROTOTYPE 91 Den vises hvis protokollen er feil type for socket.
ENOPROTOOPT 92 Den vises hvis protokollen ikke er tilgjengelig.
EPROTONOSUPPORT 93 Den vises hvis protokollen ikke støttes.
ESOCKTNOSUPPORT 94 Den vises hvis Socket-typen ikke støttes.
EOPNOTSUPP 95 Den vises hvis operasjonen ikke støttes.
EPFNOSTØTTE 96 Den vises hvis protokollfamilien ikke støttes.
EAFNOSUPPORT 97 Den vises hvis adressefamilien ikke støttes av protokollen.
EADDRINUS 98 Den vises hvis adressen allerede er i bruk.
EADDRNOTAVAIL 99 Den vises hvis systemet ikke kan tildele den forespurte adressen.
ENETDOWN 100 Den vises hvis nettverket er nede.
ENETUNREACH 101 Det vises hvis nettverket ikke er tilgjengelig.
ENETRESET 102 Det vises hvis nettverket har mistet forbindelsen ved tilbakestilling.
ECONNABORTERT 103 Det vises hvis programvaren forårsaket tilkoblingen avbrutt.
ECONNRESET 104 Det vises hvis tilkoblingen er tilbakestilt av peer.
ENOBUFS 105 Den vises hvis det ikke er ledig bufferplass.
ESKON 106 Det vises hvis transportendepunktet allerede er tilkoblet.
ENOTCONN 107 Det vises hvis transportendepunktet ikke er tilkoblet.
ESHUTDOWN 108 Det vises hvis systemet ikke kan sende etter nedleggelse av transportendepunkt.
ETOOMANYREFS 109 Det vises hvis det er for mange referanser: kan ikke spleise.
ETIMEOUT 110 Den vises hvis tilkoblingen er tidsavbrutt.
ECONNREFUSED 111 Den vises hvis tilkoblingen nektes.
EHOSTDOWN 112 Det vises hvis verten er nede.
EHOSTUNREACH 113 Det vises hvis det ikke er noen rute til vert.
ALLEREDE 114 Den vises hvis operasjonen allerede er i gang.
HVER FREMGANG 115 Det vises hvis operasjonen nå pågår.
KLIKK 116 Det vises for foreldet filhåndtak.
EUCLEAN 117 Det vises hvis strukturen trenger rengjøring.
UNIFORM 118 Den vises for ikke en XENIX-navngitt type fil.
ENAVIL 119 Det vises hvis det ikke er noen XENIX-semaforer tilgjengelig.
EISNAM 120 Den vises hvis det er en navngitt type fil.
EREMOTIO 121 Det vises for Remote I/O-feil.
EDQUOT 122 Den vises hvis diskkvoten er overskredet.
ENOMEDIUM 123 Det vises hvis det ikke er noe medium funnet.
EMEDIUMTYPE 124 Den vises hvis det er feil medium type.
AVLYST 125 Den vises hvis operasjonen avbrytes.
ENOKEY 126 Den vises hvis den nødvendige nøkkelen ikke er tilgjengelig.
EKEYEXPIRED 127 Den vises hvis nøkkelen er utløpt.
EKEYREVOKED 128 Den vises hvis nøkkelen er tilbakekalt.
EKEY AVVISET 129 Det vises hvis nøkkelen ble avvist av service.
EOWNERDEAD 130 Det vises hvis eieren er død.
ENOT-RETTINNBAR 131 Den vises for ingen gjenopprettbar tilstand.
ERFKILL 132 Det vises hvis operasjonen ikke er mulig på grunn av RF-kill.
EHWPOISON 133 Den vises hvis minnesiden har maskinvarefeil.