logo

Chybové kódy systému Linux

Chybové kódy Linuxu sú tie kódy, ktoré sa zobrazia, ak sa v systéme vyskytne chyba počas práce alebo používania programu. Chyby je možné rozpoznať pomocou chybových kódov. Chybové kódy nám pomáhajú rozpoznať zdroj chyby.

Ak pracujeme na systéme Linux, je zrejmé, že sa môžeme stretnúť s chybami. Niektoré chyby môžu byť menšie a nemusia viesť k prerušeniu programu. Môžu sa však vyskytnúť chyby, ktoré môžu spôsobiť, že systém alebo program prestane reagovať. Tieto chyby môžu viesť k strate údajov alebo môžu zabrániť dokončeniu programu. Chyby sa väčšinou zobrazujú vo forme kódov alebo správ.

V tejto časti uvidíme chyby v programovaní C a zoznam možných chýb v Linux systém.

Linuxové chyby v programovaní C

Šikovný programátor by si mal vedieť s chybami poradiť. Programovací jazyk C neposkytuje priamu podporu pre spracovanie chýb. Musíme zistiť zdroj chyby a vysporiadať sa s ňou. V jazyku C návratové hodnoty zobrazujú zlyhanie alebo úspech. Ak funkcia v programe C zlyhá, musíme s chybou primerane zaobchádzať; inak zaznamená chyby ako posledné do súboru denníka.

Pri vykonávaní programov C si môžeme všimnúť niektoré čísla chýb, ako napríklad „Chyba č je: 17“. Tu chyba č. 17 znamená, že súbor už existuje. Každé číslo chyby má nejaký význam.

Jazyk C podporuje premennú 'chyba nie .' Použitím tejto premennej s číslom chyby môžeme použiť niektoré funkcie spracovania chýb, aby sme ju správne zvládli.

Ak chcete použiť číslo chyby externej premennej, musíme zahrnúť súbor hlavičky 'errno.h.' Hlavičkový súbor sa používa na definovanie premennej 'errno'. Premenná errno je nastavená systémovými volaniami a funkciami knižnice pri výskyte chyby. Existujú dve dôležité funkcie v C programovací jazyk vysporiadať sa s chybami; chyba a strerror . Funkcia perror sa používa na vytlačenie popisu chyby a funkcia sterror vracia reťazec s kódom chyby.

Zobrazme zoznam chybových kódov pomocou errno.

Linux chyba

Pomôcka errno sa používa na vyhľadanie kódov chýb, názvov makier a zodpovedajúcich popisov. Ak napríklad poskytneme ENOENT na systéme Linux, zobrazí sa kód 2 a popis ' Súbor alebo adresár neexistuje .' Ak zadáme kód 2, zobrazí sa ENOENT a jeho popis .

Ak nástroj errno nie je nainštalovaný na našom počítači, zobrazí sa chyba nasledovne:

Chybové kódy systému Linux

Ak ho chcete nainštalovať, vykonajte nasledujúci príkaz:

 sudo apt install moreutils 

Vykonaním vyššie uvedeného príkazu sa na našom počítači nainštaluje balík moreutils, ktorý obsahuje nástroj errno.

Chybové kódy systému Linux

Zobrazte zoznam kódov chýb

Ak chcete zobraziť zoznam chybových kódov, vykonajte príkaz takto:

 errno -l 

Vyššie uvedený príkaz zobrazí zoznam chybových kódov od RedHat. Zvážte nasledujúci výstup:

Chybové kódy systému Linux

Zobrazte informácie o čísle chyby

Ak chcete zobraziť informácie o konkrétnom čísle chyby, vykonajte príkaz takto:

 errno 2 

Vyššie uvedený príkaz zobrazí popis chyby číslo 2. Zvážte nasledujúci výstup:

Chybové kódy systému Linux

Zobrazte informácie o názve chyby

Ak chcete zobraziť informácie o názve konkrétnej chyby, vykonajte príkaz errno, za ktorým nasleduje názov chyby. Napríklad na zobrazenie informácií o názve chyby 'ESRCH ,' vykonajte príkaz takto:

 errno ESRCH 

Vyššie uvedený príkaz zobrazí informácie o zadanom názve chyby. Zvážte nasledujúci výstup:

Chybové kódy systému Linux

Zobrazte chybu pomocou reťazcov

Ak chcete zobraziť popis chyby pomocou reťazca z popisu, vykonajte príkaz takto:

 errno -s permission 

Vyššie uvedený príkaz zobrazí chyby, ktorých popis obsahuje povolenie reťazca. Zvážte nasledujúci výstup:

Chybové kódy systému Linux

Zoznam systémových chýb Linux

Nasleduje čiastočný zoznam možných chýb systému Linux:

Kód chyby chyba č Popis
Horná 1 Zobrazí sa, ak operácia nie je povolená.
ENOENT 2 Zobrazí sa, ak takýto súbor alebo adresár neexistuje.
ESRCH 3 Zobrazí sa, ak takýto proces neexistuje.
EINTR 4 Zobrazí sa pre prerušené systémové volanie
EIO 5 Zobrazuje sa pri chybe vstupu/výstupu.
ENXIO 6 Zobrazí sa, ak takéto zariadenie alebo adresa neexistuje.
E2BIG 7 Zobrazí sa, ak je zoznam argumentov príliš dlhý.
ENOEXEC 8 Zobrazí sa, ak sa vyskytne chyba formátu exec
EBADF 9 Zobrazí sa v prípade chybného deskriptora súboru.
ECHILD 10 Zobrazí sa, ak neexistuje žiadny podradený proces.
ZNOVU jedenásť Zobrazí sa, ak je zdroj dočasne nedostupný.
ENOMEM 12 Zobrazí sa, ak systém nemôže prideliť pamäť.
EACCES 13 Zobrazí sa, ak je povolenie odmietnuté.
EFAULT 14 Zobrazí sa, ak existuje zlá adresa.
ENOTBLK pätnásť Zobrazí sa, ak sa vyžaduje blokovanie zariadenia.
ZANEPRÁZDNENÝ 16 Zobrazí sa, ak je zariadenie alebo zdroj zaneprázdnený.
EXIST 17 Zobrazí sa, ak súbor už existuje.
EXDEV 18 Zobrazí sa, ak existuje neplatné prepojenie medzi zariadeniami.
ENODEV 19 Zobrazí sa, ak takéto zariadenie neexistuje.
ENOTDIR dvadsať Zobrazí sa, ak neexistuje adresár.
EISDIR dvadsaťjeden Zobrazí sa, ak existuje adresár.
JEDEN VÝBER 22 Zobrazí sa, ak existuje neplatný argument.
OBLIECŤ SI 23 Zobrazí sa, ak je v systéme príliš veľa otvorených súborov.
MŔTVY 24 Zobrazí sa, ak je otvorených príliš veľa súborov.
ENOTTY 25 Zobrazí sa, ak je pre zariadenie nevhodný ioctl.
ETXTBSY 26 Zobrazí sa, ak je textový súbor zaneprázdnený.
EFBIG 27 Zobrazí sa, ak je súbor príliš veľký.
ENOSPC 28 Zobrazí sa, ak na zariadení nie je voľné miesto.
ESPIPE 29 Zobrazí sa v prípade nezákonného vyhľadávania.
EROFS 30 Zobrazuje sa v prípade súborového systému iba na čítanie.
EMLINK 31 Zobrazí sa, ak je odkazov príliš veľa.
EPIPE 32 Zobrazí sa v prípade prasknutia potrubia.
EDOM 33 Zobrazí sa, ak je číselný argument mimo domény.
ERANGE 3. 4 Zobrazí sa, ak je číselný výsledok mimo rozsahu.
EDEADLK 35 Zobrazí sa, ak sa vyhne zablokovaniu prostriedkov.
ENAMETOONG 36 Zobrazí sa, ak je názov súboru príliš dlhý.
ENOLCK 37 Zobrazí sa, ak nie sú k dispozícii žiadne zámky.
ENOSYS 38 Zobrazí sa, ak funkcia nie je implementovaná.
ENOTEMPTY 39 Zobrazí sa, ak adresár nie je prázdny.
ELOOP 40 Zobrazí sa, ak existuje príliš veľa úrovní symbolických odkazov.
ENOMSG 42 Zobrazí sa, ak neexistuje žiadna správa požadovaného typu.
EIDRM 43 Zobrazí sa, ak je identifikátor odstránený.
ECHRNG 44 Zobrazí sa, ak je číslo kanálu mimo rozsahu.
EL2NSYNC Štyri Zobrazí sa, ak úroveň 2 nie je synchronizovaná.
EL3HLT 46 Zobrazí sa, ak je úroveň 3 zastavená.
EL3RST 47 Zobrazí sa, ak je úroveň 3 resetovaná.
ELNRNG 48 Zobrazí sa, ak je číslo prepojenia mimo rozsahu.
EUNATCH 49 Zobrazí sa, ak nie je pripojený ovládač protokolu.
ENOCSI päťdesiat Zobrazí sa, ak nie je k dispozícii žiadna štruktúra CSI.
EL2HLT 51 Zobrazí sa, ak je úroveň 2 zastavená.
BOLO TO 52 Zobrazuje sa v prípade neplatnej výmeny.
EBADR 53 Zobrazí sa v prípade neplatného deskriptora požiadavky.
VYPLNIŤ 54 Zobrazí sa, ak je výmena plná.
ENOANO 55 Zobrazí sa v prípade bez anódy.
EBADRQC 56 Zobrazuje sa pre neplatný kód požiadavky.
EBADSLT 57 Zobrazuje sa pre neplatný slot.
EBFONT 59 Zobrazí sa, ak existuje nesprávny formát súboru s písmom.
JEDNOSTRANNÉ 60 Zobrazí sa, ak zariadenie nie je stream.
ENODATA 61 Zobrazí sa, ak nie sú k dispozícii žiadne údaje.
ETIME 62 Zobrazí sa v prípade, že časovač vypršal.
ENOSR 63 Zobrazuje sa v prípade nedostatku zdrojov streamov.
ENONET 64 Zobrazí sa, ak zariadenie nie je v sieti.
ENOPKG 65 Zobrazí sa, ak balík nie je nainštalovaný.
EREMOTE 66 Zobrazí sa, ak je objekt vzdialený.
ENOLINK 67 Zobrazí sa, ak bol odkaz prerušený.
EADV 68 Zobrazuje sa pre chybu reklamy.
ESRMNT 69 Zobrazuje sa pri chybe Srmount.
ECOMM 70 Zobrazí sa, ak sa pri odosielaní vyskytne chyba komunikácie.
EPROTO 71 Zobrazuje sa pri chybe protokolu.
EMULTIHOP 72 Zobrazí sa pri pokuse o multihop.
EDOTDOT 73 Zobrazuje sa pri chybe špecifickej pre RFS.
EBADMSG 74 Zobrazuje sa pri chybnej správe.
EOVEFLOW 75 Zobrazí sa, ak je hodnota príliš veľká pre definovaný typ údajov.
ENOTUNIQ 76 Zobrazí sa, ak názov nie je v sieti jedinečný.
EBADFD 77 Zobrazí sa, ak je deskriptor súboru v zlom stave.
EREMCHG 78 Zobrazí sa, ak sa vzdialená adresa zmení.
ELIBACC 79 Zobrazí sa, ak nemáme prístup k potrebnej zdieľanej knižnici.
ELIBBAD 80 Zobrazí sa v prípade prístupu k poškodenej zdieľanej knižnici.
ELIBSCN 81 Zobrazí sa, ak je časť .lib v a.out poškodená.
ELIBMAX 82 Zobrazí sa, ak sa pokúšame o prepojenie v príliš veľkom počte zdieľaných knižníc.
ELIBEXEC 83 Zobrazí sa, ak nemôžeme priamo spustiť zdieľanú knižnicu.
EILSEQ 84 Zobrazuje sa pre neplatný alebo neúplný viacbajtový alebo široký znak
ERESTART 85 Zobrazí sa ako informácia, že prerušené systémové volanie by sa malo reštartovať.
ESTRPIPE 86 Zobrazí sa, ak sa vyskytne chyba potrubia prúdov.
EUSERS 87 Zobrazuje sa príliš veľkému množstvu používateľov.
ENOTSOCK 88 Zobrazuje sa pri prevádzke so zásuvkou bez zásuvky.
EDESTADDRREQ 89 Zobrazí sa, ak je požadovaná cieľová adresa.
EMSGSIZE 90 Zobrazí sa, ak je správa príliš dlhá.
EPROTOTYP 91 Zobrazí sa, ak je protokol nesprávneho typu pre zásuvku.
ENOPROTOOPT 92 Zobrazí sa, ak protokol nie je dostupný.
EPROTONOSUPPORT 93 Zobrazí sa, ak protokol nie je podporovaný.
ESOCKTNOSUPPORT 94 Zobrazí sa, ak typ zásuvky nie je podporovaný.
EOPNOTSUPP 95 Zobrazí sa, ak operácia nie je podporovaná.
EPFNOSUPPORT 96 Zobrazí sa, ak rodina protokolov nie je podporovaná.
EAFNOSUPPORT 97 Zobrazí sa, ak skupina adries nie je podporovaná protokolom.
EADDRINUS 98 Zobrazí sa, ak sa adresa už používa.
EADDRNOTAVAIL 99 Zobrazí sa, ak systém nemôže priradiť požadovanú adresu.
ENETDOWN 100 Zobrazí sa, ak je sieť vypnutá.
ENETUNREACH 101 Zobrazí sa, ak je sieť nedostupná.
ENETRESET 102 Zobrazí sa, ak sieť pri resetovaní prerušila pripojenie.
ECONNABORTED 103 Zobrazí sa, ak softvér spôsobil prerušenie pripojenia.
ECONNRESET 104 Zobrazí sa, ak je spojenie resetované peerom.
ENOBUFS 105 Zobrazí sa, ak nie je k dispozícii priestor vo vyrovnávacej pamäti.
ESKON 106 Zobrazí sa, ak je koncový bod transportu už pripojený.
ENOTCONN 107 Zobrazí sa, ak koncový bod transportu nie je pripojený.
ESHUTDOWN 108 Zobrazí sa, ak systém nemôže odoslať po vypnutí koncového bodu prenosu.
ETOOMANY REFS 109 Zobrazí sa, ak je príliš veľa odkazov: nedá sa spojiť.
ETIMEDOUT 110 Zobrazí sa, ak vypršal časový limit pripojenia.
ODMIETNUTÝ 111 Zobrazí sa, ak je pripojenie odmietnuté.
EHOSTDOWN 112 Zobrazí sa, ak je hostiteľ vypnutý.
EHOSTUNREACH 113 Zobrazí sa, ak neexistuje žiadna cesta k hostiteľovi.
114 Zobrazí sa, ak už prebieha operácia.
KAŽDÝ POKROK 115 Zobrazí sa, ak práve prebieha operácia.
KLIKNITE 116 Zobrazuje sa pri popisovači zastaraného súboru.
EUCLEAN 117 Zobrazí sa, ak je potrebné štruktúru vyčistiť.
UNIFORMA 118 Zobrazuje sa v prípade, že nie je súborom pomenovaného typu XENIX.
ZÍSKAVAŤ 119 Zobrazí sa, ak nie sú k dispozícii žiadne semafory XENIX.
EISNAM 120 Zobrazí sa, ak existuje súbor pomenovaného typu.
EREMOTIO 121 Zobrazuje sa pre chybu Remote I/O.
EDQUOT 122 Zobrazí sa, ak je prekročená disková kvóta.
ENOMEDIUM 123 Zobrazí sa, ak nie je nájdené žiadne médium.
EMEDIUMTYPE 124 Zobrazí sa pri nesprávnom type média.
ZRUŠENÉ 125 Zobrazí sa, ak je operácia zrušená.
ENOKEY 126 Zobrazí sa, ak požadovaný kľúč nie je k dispozícii.
EXPIRÁCIA EKEY 127 Zobrazí sa, ak platnosť kľúča vypršala.
EKEYREVOKED 128 Zobrazí sa, ak bol kľúč odvolaný.
EKEYREJECTED 129 Zobrazí sa, ak bol kľúč odmietnutý servisom.
EOWNERDEAD 130 Zobrazí sa, ak vlastník zomrel.
ENOTRECOVERABLE 131 Zobrazuje sa bez obnoviteľného stavu.
ERFKILL 132 Zobrazí sa, ak operácia nie je možná kvôli RF-kill.
EHWPOISON 133 Zobrazí sa, ak sa na stránke pamäte vyskytne chyba hardvéru.