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:
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.
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:
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:
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:
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:
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. |
UŽ | 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. |