logo

Linux kodovi grešaka

Linux kodovi pogrešaka su oni kodovi koji se prikazuju ako se pojavi greška u sustavu tijekom rada ili korištenja programa. Pogreške se mogu prepoznati uz pomoć kodova grešaka. Kodovi pogrešaka pomažu nam u prepoznavanju izvora pogreške.

Ako radimo na Linux sustavu, očito je da možemo naići na pogreške. Neke pogreške mogu biti manje i ne moraju dovesti do prekida programa. Ali mogu postojati neke pogreške koje mogu uzrokovati prestanak reagiranja sustava ili programa. Ove pogreške mogu dovesti do gubitka podataka ili mogu spriječiti dovršetak programa. Uglavnom se pogreške prikazuju u obliku kodova ili poruka.

U ovom odjeljku vidjet ćemo pogreške u C programiranju i popis mogućih pogrešaka u Linux sustav.

Linux greške u C programiranju

Vješt programer trebao bi znati kako se nositi s pogreškama. Programski jezik C ne pruža izravnu podršku za obradu grešaka. Moramo otkriti izvor pogreške i riješiti je. U jeziku C, povratne vrijednosti prikazuju neuspjeh ili uspjeh. Ako funkcija u C programu ne uspije, moramo postupiti s greškom u skladu s tim; inače bilježi posljednje pogreške u datoteku dnevnika.

Dok izvršavamo C programe, mogli bismo primijetiti neke brojeve pogrešaka kao što je 'Broj pogreške je: 17'. Ovdje greška broj 17 znači da datoteka već postoji. Svaki broj greške ima neko značenje.

Jezik C podržava varijablu 'greška .' Korištenjem ove varijable broja pogreške, možemo koristiti neke funkcije za rukovanje pogreškama kako bismo je pravilno obradili.

Za korištenje vanjske varijable broj pogreške, moramo uključiti datoteku zaglavlja 'greška.h.' Datoteka zaglavlja koristi se za definiranje varijable 'errno'. Varijabla errno postavljena je pozivima sustava i funkcijama knjižnice u pojavi pogreške. Dvije su važne funkcije u C programski jezik nositi se s pogreškama; užas i strerror . Funkcija perror koristi se za ispis opisa pogreške, a funkcija sterror vraća niz s kodom pogreške.

Prikažimo popis kodova grešaka pomoću errno.

Linux pogreška

Uslužni program errno koristi se za traženje errno kodova, naziva makronaredbi i odgovarajućih opisa. Na primjer, ako pružimo ENOENT na Linux sustavu, on će prikazati kod 2 i opis ' Nema takve datoteke ili direktorija .' Ako damo kod 2, on će prikazati ENOENT i njegov opis .

Ako uslužni program errno nije instaliran na našem računalu, prikazat će pogrešku na sljedeći način:

Linux kodovi grešaka

Da biste ga instalirali, izvršite naredbu u nastavku:

 sudo apt install moreutils 

Izvršavanjem gornje naredbe, paket moreutils se instalira na našem računalu koji sadrži uslužni program errno.

Linux kodovi grešaka

Prikaz popisa kodova grešaka

Za prikaz popisa kodova grešaka, izvršite naredbu na sljedeći način:

 errno -l 

Gornja naredba prikazat će popis kodova grešaka RedHat-a. Razmotrite donji izlaz:

Linux kodovi grešaka

Prikažite informacije o broju greške

Za prikaz informacija o određenom broju pogreške, izvršite naredbu na sljedeći način:

 errno 2 

Gornja naredba prikazat će opis pogreške broj 2. Razmotrite donji izlaz:

Linux kodovi grešaka

Prikaži informacije o nazivu pogreške

Za prikaz informacija o određenom nazivu pogreške, izvršite naredbu errno, nakon koje slijedi naziv pogreške. Na primjer, za prikaz informacija o nazivu pogreške 'ESRCH ,' izvršite naredbu na sljedeći način:

 errno ESRCH 

Gornja naredba prikazat će informacije o navedenom nazivu pogreške. Razmotrite donji izlaz:

Linux kodovi grešaka

Prikažite pogrešku pomoću nizova

Za prikaz opisa pogreške korištenjem niza iz opisa, izvršite naredbu na sljedeći način:

 errno -s permission 

Gornja naredba prikazat će pogreške čiji opis sadrži dozvolu niza. Razmotrite donji izlaz:

Linux kodovi grešaka

Popis grešaka sustava Linux

Slijedi djelomičan popis mogućih grešaka Linux sustava:

Kod pogreške greška br Opis
Gornji 1 Prikazuje se ako radnja nije dopuštena.
ENOENT 2 Prikazuje se ako takva datoteka ne postoji ili direktorij postoji.
ESRCH 3 Prikazuje se ako ne postoji takav proces.
EINTR 4 Prikazuje se za prekinut sistemski poziv
EIO 5 Prikazuje se za grešku ulaza/izlaza.
ENXIO 6 Prikazuje se ako takav uređaj ne postoji ili adresa postoji.
E2BIG 7 Prikazuje se ako je popis argumenata predug.
ENOEXEC 8 Prikazuje se ako postoji pogreška exec formata
EBADF 9 Prikazuje se u slučaju lošeg deskriptora datoteke.
ECHILD 10 Prikazuje se ako ne postoji podređeni proces.
OPET jedanaest Prikazuje se ako je resurs privremeno nedostupan.
ENOMEM 12 Prikazuje se ako sustav ne može dodijeliti memoriju.
EACCES 13 Prikazuje se ako je dopuštenje odbijeno.
GREŠKA 14 Prikazuje se ako postoji pogrešna adresa.
ENOTBLK petnaest Prikazuje se ako je potreban Blokiraj uređaj.
ZAPOSLEN 16 Prikazuje se ako je uređaj ili resurs zauzet.
POSTOJI 17 Prikazuje se ako datoteka već postoji.
EXDEV 18 Prikazuje se ako postoji nevažeća veza između uređaja.
ENODEV 19 Prikazuje se ako takav uređaj ne postoji.
ENOTDIR dvadeset Prikazuje se ako ne postoji imenik.
EISDIR dvadeset i jedan Prikazuje se ako postoji imenik.
JEDAN IZBOR 22 Prikazuje se ako postoji nevažeći argument.
STAVITI NA 23 Prikazuje se ako u sustavu ima previše otvorenih datoteka.
MRTAV 24 Prikazuje se ako ima previše otvorenih datoteka.
ENOTTY 25 Prikazuje se ako postoji neodgovarajući ioctl za uređaj.
ETXTBSY 26 Prikazuje se ako je tekstualna datoteka zauzeta.
EFBIG 27 Prikazuje se ako je datoteka prevelika.
ENOSPC 28 Prikazuje se ako na uređaju nema više mjesta.
ESPIPE 29 Prikazuje se u slučaju nezakonitog traženja.
EROFS 30 Prikazuje se u slučaju datotečnog sustava samo za čitanje.
EMLINK 31 Prikazuje se ako ima previše veza.
EPIPE 32 Prikazuje se u slučaju puknuća cijevi.
EDOM 33 Prikazuje se ako je numerički argument izvan domene.
ERANGE 3. 4 Prikazuje se ako je brojčani rezultat izvan raspona.
EDEADLK 35 Prikazuje se ako je izbjegnut zastoj resursa.
ENAMETOOLONG 36 Prikazuje se ako je naziv datoteke predug.
ENOLCK 37 Prikazuje se ako nema dostupnih brava.
ENOSYS 38 Prikazuje se ako funkcija nije implementirana.
ENOTEMPTY 39 Prikazuje se ako imenik nije prazan.
ELOOP 40 Prikazuje se ako postoji previše razina simboličkih veza.
ENOMSG 42 Prikazuje se ako nema poruke željenog tipa.
EIDRM 43 Prikazuje se ako se identifikator ukloni.
ECHRNG 44 Prikazuje se ako je broj kanala izvan raspona.
EL2NSYNC Četiri pet Prikazuje se ako razina 2 nije sinkronizirana.
EL3HLT 46 Prikazuje se ako je razina 3 zaustavljena.
EL3RST 47 Prikazuje se ako je razina 3 resetirana.
ELNRNG 48 Prikazuje se ako je broj veze izvan raspona.
EUNATCH 49 Prikazuje se ako upravljački program protokola nije priključen.
ENOCSI pedeset Prikazuje se ako nema dostupne CSI strukture.
EL2HLT 51 Prikazuje se ako je razina 2 zaustavljena.
BILO JE 52 Prikazuje se u slučaju nevaljane zamjene.
EBADR 53 Prikazuje se u slučaju nevažećeg deskriptora zahtjeva.
IZVRSNO 54 Prikazuje se ako je burza puna.
ENOANO 55 Prikazuje se u slučaju Nema anode.
EBADRQC 56 Prikazuje se za nevažeći kod zahtjeva.
EBADSLT 57 Prikazuje se za nevažeći utor.
EBFONT 59 Prikazuje se ako postoji loš format datoteke fonta.
JEDNOSTRAN 60 Prikazuje se ako uređaj nije stream.
ENODATA 61 Prikazuje se ako nema dostupnih podataka.
EVRIJEME 62 Prikazuje se u slučaju da tajmer istekne.
ENOSR 63 Prikazuje se u slučaju resursa izvan tokova.
ENONET 64 Prikazuje se ako uređaj nije na mreži.
ENOPKG 65 Prikazuje se ako paket nije instaliran.
EREMOTE 66 Prikazuje se ako je objekt udaljen.
ENOLINK 67 Prikazuje se ako je veza prekinuta.
EADV 68 Prikazuje se za grešku oglašavanja.
ESRMNT 69 Prikazuje se za pogrešku Srmount.
ECOMM 70 Prikazuje se ako je došlo do pogreške u komunikaciji pri slanju.
EPROTO 71 Prikazuje se za grešku protokola.
EMULTIHOP 72 Prikazuje se za pokušaj višestrukog skoka.
EDOTDOT 73 Prikazuje se za RFS specifičnu pogrešku.
EBADMSG 74 Prikazuje se za lošu poruku.
IZVJEDNO PRELJEVANJE 75 Prikazuje se ako je vrijednost prevelika za definirani tip podataka.
ENOTUNIQ 76 Prikazuje se ako ime nije jedinstveno na mreži.
EBADFD 77 Prikazuje se ako je deskriptor datoteke u lošem stanju.
EREMCHG 78 Prikazuje se ako se promijeni udaljena adresa.
ELIBACC 79 Prikazuje se ako ne možemo pristupiti potrebnoj zajedničkoj biblioteci.
ELIBBAD 80 Prikazuje se u slučaju pristupanja oštećenoj dijeljenoj biblioteci.
ELIBSCN 81 Prikazuje se ako postoji odjeljak .lib u a.out je oštećen.
ELIBMAX 82 Prikazuje se ako se pokušavamo povezati u previše zajedničkih biblioteka.
ELIBEXEC 83 Prikazuje se ako ne možemo izravno izvršiti dijeljenu biblioteku.
EILSEQ 84 Prikazuje se za nevažeći ili nepotpuni višebajtni ili široki znak
ERESTART 85 Prikazuje se kao obavijest da treba ponovno pokrenuti prekinuti poziv sustava.
ESTRPIPE 86 Prikazuje se ako postoji pogreška cijevi tokova.
EUUSERS 87 Prikazuje se za previše korisnika.
ENOTSOCK 88 Prikazuje se za rad utičnice na ne-utičnici.
EDESTADDRREQ 89 Prikazuje se ako je potrebna odredišna adresa.
EMSGSIZE 90 Prikazuje se ako je poruka preduga.
EPROTOTIP 91 Prikazuje se ako je vrsta protokola pogrešna za utičnicu.
ENOPROTOOPT 92 Prikazuje se ako protokol nije dostupan.
EPROTONOSUPPORT 93 Prikazuje se ako protokol nije podržan.
ESOCKTNOSUPPORT 94 Prikazuje se ako vrsta utičnice nije podržana.
EOPNOTSUPP 95 Prikazuje se ako Operacija nije podržana.
EPFNOSUPPORT 96 Prikazuje se ako obitelj protokola nije podržana.
EAFNOSUPPORT 97 Prikazuje se ako familija adresa nije podržana protokolom.
EADDRINUS 98 Prikazuje se ako je adresa već u upotrebi.
EADDRNOTAVAIL 99 Prikazuje se ako sustav ne može dodijeliti traženu adresu.
ENETDOWN 100 Prikazuje se ako je mreža u prekidu.
ENETUNREACH 101 Prikazuje se ako je mreža nedostupna.
ENETRESET 102 Prikazuje se ako je mreža prekinula vezu pri resetiranju.
ECONNABORTED 103 Prikazuje se ako je softver uzrokovao prekid veze.
RECONNRESET 104 Prikazuje se ako ravnopravni uređaj poništi vezu.
ENOBUFS 105 Prikazuje se ako nema dostupnog međuspremnika.
ESKON 106 Prikazuje se ako je krajnja točka prijenosa već povezana.
ENOTCONN 107 Prikazuje se ako krajnja točka prijenosa nije povezana.
ISKLJUČIVANJE 108 Prikazuje se ako sustav ne može poslati nakon isključivanja krajnje točke prijenosa.
ETOOMANYREFS 109 Prikazuje se ako ima previše referenci: spajanje nije moguće.
ETIMEDOUT 110 Prikazuje se ako je veza istekla.
ECONNROFUSED 111 Prikazuje se ako je veza odbijena.
EHOSTDOWN 112 Prikazuje se ako host ne radi.
EHOSTUNREACH 113 Prikazuje se ako ne postoji ruta do hosta.
VEĆ 114 Prikazuje se ako je operacija već u tijeku.
SVAKI NAPREDAK 115 Prikazuje se ako je operacija sada u tijeku.
KLIK 116 Prikazuje se za rukovanje ustajalom datotekom.
EUČISTA 117 Prikazuje se ako je strukturi potrebno čišćenje.
UNIFORMA 118 Prikazuje se za datoteku tipa koja nije XENIX.
DOSTUPAN 119 Prikazuje se ako nema dostupnih XENIX semafora.
EISNAM 120 Prikazuje se ako postoji datoteka imenovanog tipa.
EREMOTIO 121 Prikazuje se za pogrešku daljinskog ulaza/izlaza.
EDQUOT 122 Prikazuje se ako je diskovna kvota premašena.
ENOMEDIJ 123 Prikazuje se ako nije pronađen nijedan medij.
EMEDIUMTYPE 124 Prikazuje se ako postoji pogrešna vrsta medija.
PONIŠTENO 125 Prikazuje se ako je operacija otkazana.
ENOKEY 126 Prikazuje se ako traženi ključ nije dostupan.
EKEY ISTEKAO 127 Prikazuje se ako je ključ istekao.
EKEY REVOKED 128 Prikazuje se ako je ključ opozvan.
EKEY REJECTED 129 Prikazuje se ako je servis odbio ključ.
EVLASNIK MRTAV 130 Prikazuje se ako je vlasnik umro.
ENOTOPONAVLJIV 131 Prikazuje se za stanje koje se ne može oporaviti.
ERFKILL 132 Prikazuje se ako operacija nije moguća zbog RF-kill.
EHWOTRIV 133 Prikazuje se ako memorijska stranica ima hardversku pogrešku.