logo

Kode napak Linuxa

Kode napak Linuxa so tiste kode, ki se prikažejo, če pride do napake v sistemu med delom ali uporabo programa. Napake je mogoče prepoznati s pomočjo kod napak. Kode napak nam pomagajo prepoznati vir napake.

Če delamo na sistemu Linux, je očitno, da lahko naletimo na napake. Nekatere napake so lahko manjše in ne smejo povzročiti prekinitve programa. Lahko pa pride do nekaterih napak, zaradi katerih se sistem ali program neha odzivati. Te napake lahko povzročijo izgubo podatkov ali preprečijo dokončanje programa. Večinoma so napake prikazane v obliki kod ali sporočil.

V tem razdelku bomo videli napake v programiranju C in seznam možnih napak v Linux sistem.

Linux napake pri programiranju C

Spreten programer bi moral znati ravnati z napakami. Programski jezik C ne zagotavlja neposredne podpore za obravnavanje napak. Odkriti moramo izvor napake in jo odpraviti. V jeziku C vrnjene vrednosti prikazujejo neuspeh ali uspeh. Če funkcija v programu C odpove, moramo napako ustrezno obravnavati; drugače zapiše napake nazadnje v dnevniško datoteko.

Med izvajanjem programov C lahko opazimo nekaj številk napak, kot je 'Št. napake je: 17'. Tu napaka št. 17 pomeni, da datoteka že obstaja. Vsaka številka napake ima nek pomen.

Jezik C podpira spremenljivko 'napaka .' Z uporabo te spremenljivke številke napake lahko uporabimo nekatere funkcije za obravnavo napak, da jih pravilno obravnavamo.

Za uporabo zunanje številke napake spremenljivke moramo vključiti datoteko glave 'napaka.h.' Datoteka glave se uporablja za definiranje spremenljivke 'errno'. Spremenljivko errno nastavijo sistemski klici in funkcije knjižnice ob pojavu napake. Obstajata dve pomembni funkciji v Programski jezik C obravnavati napake; groza in strerror . Funkcija perror se uporablja za tiskanje opisa napake, funkcija sterror pa vrne niz s kodo napake.

Prikažimo seznam kod napak z uporabo errno.

Linux napaka

Pripomoček errno se uporablja za iskanje kod errno, imen makrov in ustreznih opisov. Na primer, če zagotovimo ENOENT v sistemu Linux, bo prikazal kodo 2 in opis ' Ni takšne datoteke ali imenika .' Če podamo kodo 2, bo prikazana ENOENT in njegov opis .

Če pripomoček errno ni nameščen na našem računalniku, bo prikazal napako, kot sledi:

Kode napak Linuxa

Če ga želite namestiti, izvedite spodnji ukaz:

 sudo apt install moreutils 

Z izvedbo zgornjega ukaza se na naš računalnik namesti paket moreutils, ki vsebuje pripomoček errno.

Kode napak Linuxa

Prikažite seznam kod napak

Za prikaz seznama kod napak izvedite ukaz na naslednji način:

 errno -l 

Zgornji ukaz bo prikazal seznam kod napak RedHat. Razmislite o spodnjem rezultatu:

Kode napak Linuxa

Prikažite informacije o številki napake

Če želite prikazati informacije o določeni številki napake, izvedite ukaz na naslednji način:

 errno 2 

Zgornji ukaz bo prikazal opis napake številka 2. Razmislite o spodnjem rezultatu:

Kode napak Linuxa

Prikaži informacije o imenu napake

Za prikaz informacij o določenem imenu napake izvedite ukaz errno, ki mu sledi ime napake. Na primer za prikaz informacij o imenu napake 'ESRCH ,' izvedite ukaz na naslednji način:

 errno ESRCH 

Zgornji ukaz bo prikazal informacije o navedenem imenu napake. Razmislite o spodnjem rezultatu:

Kode napak Linuxa

Prikažite napako z nizi

Če želite prikazati opis napake z uporabo niza iz opisa, izvedite ukaz na naslednji način:

 errno -s permission 

Zgornji ukaz bo prikazal napake, katerih opis vsebuje dovoljenje za niz. Razmislite o spodnjem rezultatu:

Kode napak Linuxa

Seznam sistemskih napak Linux

Sledi delni seznam možnih napak sistema Linux:

Napačna koda napaka št Opis
Zgornji 1 Prikaže se, če operacija ni dovoljena.
ENOENT 2 Prikaže se, če take datoteke ni ali imenik obstaja.
ESRCH 3 Prikaže se, če tak postopek ne obstaja.
EINTR 4 Prikaže se za prekinjen sistemski klic
EPN 5 Prikaže se za napako pri vhodu/izhodu.
ENXIO 6 Prikaže se, če takšne naprave ni ali naslov obstaja.
E2BIG 7 Prikaže se, če je seznam argumentov predolg.
ENOEXEC 8 Prikaže se, če je prišlo do napake formata exec
EBADF 9 Prikaže se v primeru slabega deskriptorja datoteke.
ECHILD 10 Prikaže se, če ne obstaja podrejeni proces.
SPET enajst Prikaže se, če vir začasno ni na voljo.
ENOMEM 12 Prikaže se, če sistem ne more dodeliti pomnilnika.
EACCES 13 Prikaže se, če je dovoljenje zavrnjeno.
NAPAKA 14 Prikaže se, če je naslov napačen.
ENOTBLK petnajst Prikaže se, če je zahtevana Blokiraj napravo.
ZASEDEN 16 Prikaže se, če je naprava ali vir zaseden.
OBSTAJA 17 Prikaže se, če datoteka že obstaja.
EXDEV 18 Prikaže se, če obstaja neveljavna povezava med napravami.
ENODEV 19 Prikaže se, če take naprave ni.
ENOTDIR dvajset Prikaže se, če ni imenika.
EISDIR enaindvajset Prikaže se, če obstaja imenik.
ENOTNA IZBIRA 22 Prikaže se, če obstaja neveljaven argument.
OBLEČI 23 Prikaže se, če je v sistemu preveč odprtih datotek.
MRTEV 24 Prikaže se, če je odprtih datotek preveč.
ENOTTY 25 Prikaže se, če obstaja neustrezen ioctl za napravo.
ETXTBSY 26 Prikaže se, če je besedilna datoteka zasedena.
EFBIG 27 Prikaže se, če je datoteka prevelika.
ENOSPC 28 Prikaže se, če na napravi ni več prostora.
ESPIPE 29 Prikaže se v primeru nezakonitega iskanja.
EROFS 30 Prikaže se v primeru datotečnega sistema samo za branje.
EMLINK 31 Prikaže se, če je povezav preveč.
EPIPE 32 Prikaže se v primeru počene cevi.
EDOM 33 Prikaže se, če je številski argument izven domene.
ERANGE 3. 4 Prikaže se, če je številski rezultat izven obsega.
EDEADLK 35 Prikaže se, če se izognete zastoju vira.
ENAMETOOLONG 36 Prikaže se, če je ime datoteke predolgo.
ENOLCK 37 Prikaže se, če ni na voljo nobena ključavnica.
ENOSYS 38 Prikaže se, če funkcija ni implementirana.
ENOTEMPTY 39 Prikaže se, če imenik ni prazen.
ELOOP 40 Prikaže se, če je ravni simbolnih povezav preveč.
ENOMSG 42 Prikaže se, če ni sporočila želene vrste.
EIDRM 43 Prikaže se, če je identifikator odstranjen.
ECHRNG 44 Prikaže se, če je številka kanala izven obsega.
EL2NSYNC Štiri Prikaže se, če stopnja 2 ni sinhronizirana.
EL3HLT 46 Prikaže se, če je stopnja 3 ustavljena.
EL3RST 47 Prikaže se, če je stopnja 3 ponastavljena.
ELNRNG 48 Prikaže se, če je številka povezave izven obsega.
EUNATCH 49 Prikaže se, če gonilnik protokola ni priložen.
ENOCSI petdeset Prikaže se, če ni na voljo nobene strukture CSI.
EL2HLT 51 Prikaže se, če je stopnja 2 ustavljena.
BILO JE 52 Prikaže se v primeru neveljavne menjave.
EBADR 53 Prikaže se v primeru neveljavnega deskriptorja zahteve.
POLNO 54 Prikaže se, če je menjava polna.
ENOANO 55 Prikaže se, če ni anode.
EBADRQC 56 Prikaže se za neveljavno kodo zahteve.
EBADSLT 57 Prikaže se za neveljavno režo.
EBFONT 59 Prikaže se, če obstaja napačna oblika datoteke pisave.
ENOSTR 60 Prikaže se, če naprava ni tok.
ENODATA 61 Prikaže se, če podatki niso na voljo.
ETIME 62 Prikaže se, če je časovnik potekel.
ENOSR 63 Prikaže se v primeru virov izven tokov.
ENONET 64 Prikaže se, če naprava ni v omrežju.
ENOPKG 65 Prikaže se, če paket ni nameščen.
EREMOTE 66 Prikaže se, če je objekt oddaljen.
ENOLINK 67 Prikaže se, če je bila povezava prekinjena.
EADV 68 Prikaže se za napako pri oglaševanju.
ESRMNT 69 Prikaže se za napako Srmount.
ECOMM 70 Prikaže se, če je pri pošiljanju prišlo do napake v komunikaciji.
EPROTO 71 Prikaže se za napako protokola.
EMULTIHOP 72 Prikaže se za poskus Multihop.
EDOTDOT 73 Prikaže se za specifično napako RFS.
EBADMSG 74 Prikaže se za slabo sporočilo.
ENOVERFLOW 75 Prikaže se, če je vrednost prevelika za določen tip podatkov.
ENOTUNIQ 76 Prikaže se, če ime ni edinstveno v omrežju.
EBADFD 77 Prikaže se, če je deskriptor datoteke v slabem stanju.
EREMCHG 78 Prikaže se, če se spremeni oddaljeni naslov.
ELIBACC 79 Prikaže se, če ne moremo dostopati do potrebne knjižnice v skupni rabi.
ELIBBAD 80 Prikaže se v primeru dostopa do poškodovane knjižnice v skupni rabi.
ELIBSCN 81 Prikaže se, če je razdelek .lib v a.out poškodovan.
ELIBMAX 82 Prikaže se, če se poskušamo povezati v preveč knjižnicah v skupni rabi.
ELIBEXEC 83 Prikaže se, če knjižnice v skupni rabi ne moremo neposredno izvesti.
EILSEQ 84 Prikaže se za neveljaven ali nepopoln večbajtni ali široki znak
ERESTART 85 Prikaže se kot sporočilo, da je treba prekinjeni sistemski klic znova zagnati.
ESTRPIPE 86 Prikaže se, če pride do napake cevi tokov.
EUUSERS 87 Prikaže se za preveč uporabnikov.
ENOTSOCK 88 Prikaže se za delovanje vtičnice na ne-vtičnici.
EDESTADDRREQ 89 Prikaže se, če je zahtevan ciljni naslov.
EMSGSIZE 90 Prikaže se, če je sporočilo predolgo.
EPROTOTIP 91 Prikaže se, če je protokol napačne vrste za vtičnico.
ENOPROTOOPT 92 Prikaže se, če protokol ni na voljo.
EPROTONOSUPPORT 93 Prikaže se, če protokol ni podprt.
ESOCKTNOSUPPORT 94 Prikaže se, če vrsta vtičnice ni podprta.
EOPNOTSUPP 95 Prikaže se, če operacija ni podprta.
EPFNOSUPPORT 96 Prikaže se, če družina protokolov ni podprta.
EAFNOSUPPORT 97 Prikaže se, če družina naslovov ni podprta s protokolom.
EADDRINUS 98 Prikaže se, če je naslov že v uporabi.
EADDRNOTAVAIL 99 Prikaže se, če sistem ne more dodeliti zahtevanega naslova.
ENETDOWN 100 Prikaže se, če omrežje ne deluje.
ENETUNREACH 101 Prikaže se, če omrežje ni dosegljivo.
ENETRESET 102 Prikaže se, če je omrežje ob ponastavitvi prekinilo povezavo.
ECONNABORTED 103 Prikaže se, če je programska oprema povzročila prekinitev povezave.
PONASTAV 104 Prikaže se, če vrstnik ponastavi povezavo.
ENOBUFS 105 Prikaže se, če ni na voljo prostora v medpomnilniku.
ESKON 106 Prikaže se, če je transportna končna točka že povezana.
ENOTCONN 107 Prikaže se, če transportna končna točka ni povezana.
IZKLOP 108 Prikaže se, če sistem ne more pošiljati po zaustavitvi transportne končne točke.
ETOOMANYREFS 109 Prikaže se, če je referenc preveč: spajanje ni mogoče.
ETIMEDOUT 110 Prikaže se, če je povezava potekla.
ECONNREFUSED 111 Prikaže se, če je povezava zavrnjena.
EHOSTDOWN 112 Prikaže se, če gostitelj ne deluje.
EHOSTUNREACH 113 Prikaže se, če ni poti do gostitelja.
ŽE 114 Prikaže se, če operacija že poteka.
VSAK NAPREDEK 115 Prikaže se, če je operacija trenutno v teku.
KLIK 116 Prikaže se za ročaj zastarele datoteke.
EUCLEAN 117 Prikaže se, če je treba strukturo očistiti.
ENOTNAM 118 Prikaže se za datoteko z imenom, ki ni XENIX.
ENAVAIL 119 Prikaže se, če ni na voljo nobenega semaforja XENIX.
EISNAM 120 Prikaže se, če obstaja datoteka z imenovano vrsto.
EREMOTIO 121 Prikaže se za napako oddaljenega V/I.
EDQUOT 122 Prikaže se, če je diskovna kvota presežena.
ENOMEDIJ 123 Prikaže se, če medij ni najden.
EMEDIUMTYPE 124 Prikaže se, če obstaja napačna vrsta medija.
PREKLICANO 125 Prikaže se, če je operacija preklicana.
ENOKEY 126 Prikaže se, če zahtevani ključ ni na voljo.
EKEY PRETEK 127 Prikaže se, če je ključ potekel.
EKEY PREKLICAN 128 Prikaže se, če je bil ključ preklican.
EKEY ZAVRNJENO 129 Prikaže se, če je servis zavrnil ključ.
EOWNERDEAD 130 Prikaže se, če je lastnik mrtev.
ENOTOBNOVLJIV 131 Prikaže se za stanje, ki ga ni mogoče obnoviti.
ERFKILL 132 Prikaže se, če operacija ni mogoča zaradi RF-kill.
EHWSTRUP 133 Prikaže se, če ima pomnilniška stran napako strojne opreme.