logo

Linux klaidų kodai

Linux klaidų kodai yra tie kodai, kurie rodomi, jei sistemoje įvyksta klaida dirbant ar naudojant programą. Klaidas galima atpažinti naudojant klaidų kodus. Klaidų kodai padeda mums atpažinti klaidos šaltinį.

Jei dirbame su Linux sistema, akivaizdu, kad galime susidurti su klaidomis. Kai kurios klaidos gali būti nedidelės ir dėl to programa gali nenutrūkti. Tačiau gali būti klaidų, dėl kurių sistema ar programa gali nustoti reaguoti. Dėl šių klaidų gali būti prarasti duomenys arba programa negali būti užbaigta. Dažniausiai klaidos rodomos kodų arba pranešimų pavidalu.

Šiame skyriuje pamatysime C programavimo klaidas ir galimų klaidų sąrašą Linux sistema.

Linux klaidos programuojant C

Kvalifikuotas programuotojas turėtų žinoti, kaip elgtis su klaidomis. C programavimo kalba nesuteikia tiesioginio klaidų tvarkymo palaikymo. Turime nustatyti klaidos šaltinį ir su ja kovoti. C kalba grąžinamos vertės rodo nesėkmę arba sėkmę. Jei C programos funkcija sugenda, turime atitinkamai elgtis su klaida; kitu atveju klaidas įrašo paskutinės į žurnalo failą.

Vykdydami C programas galime pastebėti kai kuriuos klaidų numerius, pvz., „Klaidos numeris yra: 17“. Čia klaida Nr. 17 reiškia, kad failas jau yra. Kiekvienas klaidos numeris turi tam tikrą reikšmę.

C kalba palaiko kintamąjį 'klaida .' Naudodami šį klaidos skaičiaus kintamąjį galime naudoti kai kurias klaidų tvarkymo funkcijas, kad galėtume tinkamai jį apdoroti.

Norėdami naudoti išorinio kintamojo klaidos numerį, turime įtraukti antraštės failą 'errno.h.' Antraštės failas naudojamas kintamajam „errno“ apibrėžti. Klaidos kintamąjį nustato sistemos iškvietimai ir bibliotekos funkcijos įvykus klaidai. Yra dvi svarbios funkcijos C programavimo kalba spręsti klaidas; klaidą ir strerror . Perror funkcija naudojama klaidos aprašymui spausdinti, o funkcija sterror grąžina eilutę su klaidos kodu.

Naudodami errno parodykime klaidų kodų sąrašą.

Linux klaida

Errno įrankis naudojamas klaidų kodams, makrokomandų pavadinimams ir atitinkamiems aprašymams ieškoti. Pavyzdžiui, jei ENOENT pateikiame Linux sistemoje, bus rodomas kodas 2 ir aprašymas Tokio failo ar katalogo nėra .' Jei pateiksime kodą 2, bus rodomas ENOENT ir jo aprašymas .

Jei mūsų kompiuteryje neįdiegta „errno“ programa, ji parodys klaidą taip:

Linux klaidų kodai

Norėdami jį įdiegti, vykdykite žemiau esančią komandą:

 sudo apt install moreutils 

Vykdant aukščiau pateiktą komandą, mūsų kompiuteryje įdiegiamas moreutils paketas, kuriame yra errno įrankis.

Linux klaidų kodai

Rodyti klaidų kodų sąrašą

Norėdami pamatyti klaidų kodų sąrašą, vykdykite komandą taip:

 errno -l 

Aukščiau pateikta komanda parodys RedHat klaidų kodų sąrašą. Apsvarstykite toliau pateiktą išvestį:

Linux klaidų kodai

Rodyti klaidos numerio informaciją

Norėdami parodyti konkretaus klaidos numerio informaciją, vykdykite komandą taip:

 errno 2 

Aukščiau pateikta komanda parodys klaidos numerio 2 aprašymą. Apsvarstykite toliau pateiktą išvestį:

Linux klaidų kodai

Rodyti klaidos pavadinimo informaciją

Norėdami parodyti konkretaus klaidos pavadinimo informaciją, vykdykite komandą errno, po kurios nurodykite klaidos pavadinimą. Pavyzdžiui, norint parodyti klaidos pavadinimo informaciją „ESRCH , vykdykite komandą taip:

 errno ESRCH 

Aukščiau pateikta komanda parodys informaciją apie nurodytą klaidos pavadinimą. Apsvarstykite toliau pateiktą išvestį:

Linux klaidų kodai

Rodykite klaidą naudodami eilutes

Norėdami parodyti klaidos aprašymą naudodami eilutę iš aprašymo, vykdykite komandą taip:

 errno -s permission 

Aukščiau pateikta komanda parodys klaidas, kurių aprašyme yra eilutės leidimas. Apsvarstykite toliau pateiktą išvestį:

Linux klaidų kodai

Linux sistemos klaidų sąrašas

Toliau pateikiamas dalinis galimų „Linux“ sistemos klaidų sąrašas:

Klaidos kodas klaida Nr apibūdinimas
Viršutinė 1 Jis rodomas, jei operacija neleidžiama.
ENOENT 2 Jis rodomas, jei tokio failo ar katalogo nėra.
ESRCH 3 Jis rodomas, jei tokio proceso nėra.
EINTR 4 Jis rodomas Nutrauktas sistemos skambutis
EIO 5 Jis rodomas dėl įvesties / išvesties klaidos.
ENXIO 6 Jis rodomas, jei tokio įrenginio nėra arba adresas neegzistuoja.
E2BIG 7 Jis rodomas, jei argumentų sąrašas per ilgas.
ENOEXEC 8 Jis rodomas, jei yra exec formato klaida
EBADF 9 Jis rodomas netinkamo failo aprašo atveju.
VAIKAS 10 Jis rodomas, jei nėra antrinio proceso.
VĖL vienuolika Jis rodomas, jei ištekliai laikinai nepasiekiami.
ENOMEM 12 Jis rodomas, jei sistema negali skirti atminties.
EACCES 13 Jis rodomas, jei leidimas atmetamas.
FAULT 14 Jis rodomas, jei yra netinkamas adresas.
ENOTBLK penkiolika Jis rodomas, jei reikia blokuoti įrenginį.
UŽSIĖMES 16 Jis rodomas, jei įrenginys arba išteklius užimtas.
EGZISTUOJA 17 Jis rodomas, jei failas jau yra.
EXDEV 18 Jis rodomas, jei yra neteisinga kelių įrenginių nuoroda.
ENODEV 19 Jis rodomas, jei tokio įrenginio nėra.
ENOTDIR dvidešimt Jis rodomas, jei nėra katalogo.
EISDIR dvidešimt vienas Jis rodomas, jei yra katalogas.
VIENAS PASIRINKIMAS 22 Jis rodomas, jei yra neteisingas argumentas.
UŽSIDĖK 23 Jis rodomas, jei sistemoje yra per daug atidarytų failų.
MIRUSI 24 Jis rodomas, jei yra per daug atidarytų failų.
ENOTTY 25 Jis rodomas, jei įrenginiui yra netinkamas ioctl.
ETXTBSY 26 Jis rodomas, jei tekstinis failas užimtas.
EFBIG 27 Jis rodomas, jei failas yra per didelis.
ENOSPC 28 Jis rodomas, jei įrenginyje nėra vietos.
ESPIPE 29 Jis rodomas neteisėto ieškojimo atveju.
EROFS 30 Jis rodomas tik skaitomai failų sistemai.
EMLINK 31 Jis rodomas, jei yra per daug nuorodų.
EPIPE 32 Jis rodomas nutrūkus vamzdžiui.
EDOM 33 Jis rodomas, jei skaitmeninis argumentas yra už domeno.
ERANGE 3. 4 Jis rodomas, jei skaitinis rezultatas yra už diapazono ribų.
EDEADLK 35 Jis rodomas, jei išvengiama išteklių aklavietės.
ENAMETOOLONG 36 Jis rodomas, jei failo pavadinimas per ilgas.
ENOLCK 37 Jis rodomas, jei nėra užraktų.
ENOSYS 38 Jis rodomas, jei funkcija neįdiegta.
NETUŠČIA 39 Jis rodomas, jei katalogas nėra tuščias.
ELOOP 40 Jis rodomas, jei yra per daug simbolinių nuorodų lygių.
ENOMSG 42 Jis rodomas, jei nėra norimo tipo pranešimo.
EIDRM 43 Jis rodomas, jei identifikatorius pašalinamas.
ECHRNG 44 Jis rodomas, jei kanalo numeris yra už diapazono ribų.
EL2NSINC Keturi Jis rodomas, jei 2 lygis nėra sinchronizuotas.
EL3HLT 46 Jis rodomas, jei 3 lygis yra sustabdytas.
EL3RST 47 Jis rodomas, jei iš naujo nustatytas 3 lygis.
ELNRNG 48 Jis rodomas, jei nuorodos numeris yra už diapazono ribų.
EUNATCAS 49 Jis rodomas, jei protokolo tvarkyklė nepridėta.
ENOCSI penkiasdešimt Jis rodomas, jei nėra CSI struktūros.
EL2HLT 51 Jis rodomas, jei 2 lygis yra sustabdytas.
TAI BUVO 52 Jis rodomas netinkamo keitimo atveju.
EBADR 53 Jis rodomas netinkamo užklausos aprašo atveju.
PUIKUS 54 Jis rodomas, jei mainai yra pilni.
ENOANO 55 Jis rodomas, jei nėra anodo.
EBADRQC 56 Jis rodomas neteisingo užklausos kodo atveju.
EBADSLT 57 Jis rodomas esant netinkamam lizdui.
EBFONT 59 Jis rodomas, jei yra blogas šrifto failo formatas.
VIENPUSĖ 60 Jis rodomas, jei įrenginys nėra srautas.
ENODATA 61 Jis rodomas, jei nėra duomenų.
LAIKAS 62 Jis rodomas pasibaigus laikmačio galiojimui.
ENOSR 63 Jis rodomas, jei nėra srautų išteklių.
ENONET 64 Jis rodomas, jei įrenginys neprijungtas prie tinklo.
ENOPKG 65 Jis rodomas, jei paketas neįdiegtas.
EREMOTE 66 Jis rodomas, jei objektas yra nuotolinis.
ENOLINK 67 Jis rodomas, jei nuoroda buvo nutraukta.
EADV 68 Jis rodomas dėl reklamos klaidos.
ESRMNT 69 Jis rodomas dėl Srmount klaidos.
ECOMM 70 Jis rodomas, jei siunčiant įvyko ryšio klaida.
EPROTO 71 Jis rodomas dėl protokolo klaidos.
EMULTIHOP 72 Jis rodomas bandant Multihop.
EDOTDOT 73 Jis rodomas dėl specifinės RFS klaidos.
EBADMSG 74 Jis rodomas esant blogam pranešimui.
EOVERFLOW 75 Jis rodomas, jei reikšmė yra per didelė apibrėžtam duomenų tipui.
ENOTUNIQ 76 Jis rodomas, jei tinkle pavadinimas nėra unikalus.
EBADFD 77 Jis rodomas, jei failo deskriptorius yra blogos būklės.
EREMCHG 78 Jis rodomas, jei pakeičiamas nuotolinis adresas.
ELIBACC 79 Jis rodomas, jei negalime pasiekti reikiamos bendrinamos bibliotekos.
ELIBADAS 80 Jis rodomas prisijungus prie sugadintos bendrinamos bibliotekos.
ELIBSCN 81 Jis rodomas, jei a.out yra sugadintas .lib skyrius.
ELIBMAX 82 Jis rodomas, jei bandome susieti per daug bendrinamų bibliotekų.
ELIBEXEC 83 Jis rodomas, jei negalime tiesiogiai vykdyti bendrinamos bibliotekos.
EILSEQ 84 Rodomas neteisingas arba neužbaigtas kelių baitų arba platus simbolis
ERESTART 85 Jis rodomas informuojant, kad nutrauktas sistemos skambutis turi būti paleistas iš naujo.
ESTRPIPE 86 Jis rodomas, jei yra srauto vamzdžio klaida.
VARTOTOJAI 87 Jis rodomas per daug vartotojų.
ENOTSOCK 88 Jis rodomas, kai lizdas veikia be lizdo.
EDESTADDRREQ 89 Jis rodomas, jei reikia nurodyti paskirties adresą.
EMSGSIZE 90 Jis rodomas, jei pranešimas yra per ilgas.
EPROTOTIPAS 91 Jis rodomas, jei protokolas yra netinkamo tipo lizdui.
ENOPROTOOPT 92 Jis rodomas, jei protokolas nepasiekiamas.
EPROTONOSPARAMA 93 Jis rodomas, jei protokolas nepalaikomas.
ESOCKTNOSUPPORT 94 Jis rodomas, jei Socket tipas nepalaikomas.
EOPNOTSUPP 95 Jis rodomas, jei operacija nepalaikoma.
EPFNOSPARAMA 96 Jis rodomas, jei protokolų šeima nepalaikoma.
EAFNOPPORT 97 Jis rodomas, jei adresų šeima nepalaiko protokolo.
EADDRINUS 98 Jis rodomas, jei adresas jau naudojamas.
EADDRNEPRIEIGA 99 Jis rodomas, jei sistema negali priskirti prašomo adreso.
ENETDOWN 100 Jis rodomas, jei tinklas neveikia.
ENETUNREACH 101 Jis rodomas, jei tinklas nepasiekiamas.
ENETRESET 102 Jis rodomas, jei tinklo ryšys nutrūko iš naujo nustatant.
ECONABORTAS 103 Jis rodomas, jei dėl programinės įrangos nutrūko ryšys.
ECONNRESET 104 Jis rodomas, jei ryšį iš naujo nustato bendraamžis.
ENOBUFS 105 Jis rodomas, jei nėra laisvos buferio vietos.
ESKON 106 Jis rodomas, jei transportavimo galinis taškas jau prijungtas.
ENOTCONN 107 Jis rodomas, jei transportavimo galinis taškas nėra prijungtas.
IŠJUNGTI 108 Jis rodomas, jei sistema negali siųsti po transportavimo galinio taško išjungimo.
ETOOMANYREFS 109 Jis rodomas, jei yra per daug nuorodų: negalima sujungti.
LAIKAS 110 Jis rodomas, jei baigėsi ryšio laikas.
ATSAKOMAS 111 Jis rodomas, jei atsisakoma prisijungti.
EHOSTDAUNAS 112 Jis rodomas, jei pagrindinis kompiuteris neveikia.
EHOSTUNREACH 113 Jis rodomas, jei nėra maršruto į prieglobą.
JAU 114 Jis rodomas, jei operacija jau vykdoma.
KIEKVIENA PAŽANGA 115 Jis rodomas, jei dabar vykdoma operacija.
SPAUSKITE 116 Jis rodomas pasenusio failo rankena.
EUCLEAN 117 Jis rodomas, jei konstrukciją reikia išvalyti.
UNIFORMA 118 Jis rodomas ne XENIX tipo faile.
ENAVAIL 119 Jis rodomas, jei nėra XENIX semaforų.
EISNAM 120 Jis rodomas, jei yra pavadinto tipo failas.
EREMOTIO 121 Rodoma nuotolinio įvesties/išvesties klaidai.
EDQUOT 122 Jis rodomas, jei viršijama disko kvota.
ENOMEDIUM 123 Jis rodomas, jei nerasta laikmena.
EMEDIUMTIPAS 124 Jis rodomas, jei yra neteisingas terpės tipas.
ATŠAUKTA 125 Jis rodomas, jei operacija atšaukta.
ENOKEY 126 Jis rodomas, jei reikiamo rakto nėra.
EKEY BAIGĖSI 127 Jis rodomas, jei baigėsi rakto galiojimo laikas.
EKEY ATŠAUKTA 128 Jis rodomas, jei raktas buvo atšauktas.
EKEYATMESTAS 129 Jis rodomas, jei raktas buvo atmestas serviso metu.
EOWNERDEAD 130 Jis rodomas, jei savininkas mirė.
NEGALIMA 131 Rodoma, kad nėra atkuriamos būsenos.
ERFKILL 132 Jis rodomas, jei operacija neįmanoma dėl RF-kill.
EHWPOISON 133 Jis rodomas, jei atminties puslapyje yra aparatinės įrangos klaida.