Chybové kódy Linuxu jsou kódy, které se zobrazí, pokud dojde k chybě v systému při práci nebo používání programu. Chyby lze rozpoznat pomocí chybových kódů. Chybové kódy nám pomáhají rozpoznat zdroj chyby.
Pokud pracujeme na systému Linux, je zřejmé, že se můžeme setkat s chybami. Některé chyby mohou být drobné a nemusí vést k přerušení programu. Mohou však existovat některé chyby, které mohou způsobit, že systém nebo program přestane reagovat. Tyto chyby mohou vést ke ztrátě dat nebo mohou zabránit dokončení programu. Většinou se chyby zobrazují ve formě kódů nebo zpráv.
V této části uvidíme chyby v programování C a seznam možných chyb v Linux Systém.
Linuxové chyby v programování C
Zkušený programátor by měl vědět, jak se s chybami vypořádat. Programovací jazyk C neposkytuje přímou podporu pro zpracování chyb. Musíme zjistit zdroj chyby a vypořádat se s tím. V jazyce C návratové hodnoty zobrazují selhání nebo úspěch. Pokud funkce v programu C selže, musíme chybu odpovídajícím způsobem ošetřit; jinak zaznamená chyby jako poslední do souboru protokolu.
Při spouštění programů C si můžeme všimnout některých chybových čísel, například „Chyba č je: 17“. Zde chyba č. 17 znamená, že soubor již existuje. Každé číslo chyby má nějaký význam.
Jazyk C podporuje proměnnou 'chyba ne .' Pomocí této proměnné s číslem chyby můžeme použít některé funkce pro zpracování chyb, abychom ji správně zpracovali.
Abychom mohli použít číslo chyby externí proměnné, musíme zahrnout soubor záhlaví 'errno.h.' Soubor záhlaví se používá k definování proměnné 'errno'. Proměnná errno je nastavena systémovými voláními a knihovními funkcemi při výskytu chyby. Existují dvě důležité funkce v C programovací jazyk vypořádat se s chybami; chyba a strerror . Funkce perror se používá k vytištění popisu chyby a funkce sterror vrací řetězec s kódem chyby.
Zobrazme seznam chybových kódů pomocí errno.
Linux chyba
Nástroj errno se používá k vyhledání kódů errno, názvů maker a odpovídajících popisů. Pokud například poskytneme ENOENT na systému Linux, zobrazí se kód 2 a popis Žádný takový soubor nebo adresář .' Pokud zadáme kód 2, zobrazí se ENOENT a jeho popis .
Pokud nástroj errno není na našem počítači nainstalován, zobrazí se chyba následovně:
Chcete-li jej nainstalovat, spusťte níže uvedený příkaz:
sudo apt install moreutils
Spuštěním výše uvedeného příkazu se na našem počítači nainstaluje balíček moreutils, který obsahuje obslužný program errno.
Zobrazte seznam chybových kódů
Chcete-li zobrazit seznam chybových kódů, proveďte příkaz následovně:
errno -l
Výše uvedený příkaz zobrazí seznam chybových kódů RedHat. Zvažte následující výstup:
Zobrazte informaci o čísle chyby
Chcete-li zobrazit informace o konkrétním čísle chyby, proveďte příkaz následovně:
errno 2
Výše uvedený příkaz zobrazí popis chyby číslo 2. Zvažte následující výstup:
Zobrazí informace o názvu chyby
Chcete-li zobrazit informace o konkrétním názvu chyby, spusťte příkaz errno následovaný názvem chyby. Například pro zobrazení informací o názvu chyby 'ESRCH ,' proveďte příkaz následovně:
errno ESRCH
Výše uvedený příkaz zobrazí informace o zadaném názvu chyby. Zvažte následující výstup:
Zobrazte chybu pomocí řetězců
Chcete-li zobrazit popis chyby pomocí řetězce z popisu, proveďte příkaz následovně:
errno -s permission
Výše uvedený příkaz zobrazí chyby, jejichž popis obsahuje oprávnění řetězce. Zvažte následující výstup:
Seznam chyb systému Linux
Následuje částečný seznam možných chyb systému Linux:
Chybový kód | chyba č | Popis |
---|---|---|
Horní | 1 | Zobrazí se, pokud operace není povolena. |
ENOENT | 2 | Zobrazí se, pokud takový soubor nebo adresář neexistuje. |
ESRCH | 3 | Zobrazí se, pokud žádný takový proces neexistuje. |
EINTR | 4 | Zobrazí se při přerušeném systémovém volání |
EIO | 5 | Zobrazuje se při chybě vstupu/výstupu. |
ENXIO | 6 | Zobrazí se, pokud takové zařízení nebo adresa neexistuje. |
E2BIG | 7 | Zobrazí se, pokud je seznam argumentů příliš dlouhý. |
ENOEXEC | 8 | Zobrazí se, pokud dojde k chybě formátu exec |
EBADF | 9 | Zobrazí se v případě špatného deskriptoru souboru. |
ECHILD | 10 | Zobrazí se, pokud neexistuje žádný podřízený proces. |
ZNOVU | jedenáct | Zobrazí se, pokud je zdroj dočasně nedostupný. |
ENOMEM | 12 | Zobrazí se, pokud systém nemůže přidělit paměť. |
EACCES | 13 | Zobrazí se, pokud je oprávnění odepřeno. |
EFAULT | 14 | Zobrazí se, pokud je adresa špatná. |
ENOTBLK | patnáct | Zobrazí se, pokud je vyžadováno Blokování zařízení. |
ZANEPRÁZDNĚNÝ | 16 | Zobrazí se, pokud je zařízení nebo zdroj zaneprázdněn. |
EXISTUJE | 17 | Zobrazí se, pokud soubor již existuje. |
EXDEV | 18 | Zobrazí se, pokud existuje neplatný odkaz mezi zařízeními. |
ENODEV | 19 | Zobrazí se, pokud takové zařízení neexistuje. |
ENOTDIR | dvacet | Zobrazí se, pokud adresář neexistuje. |
EISDIR | dvacet jedna | Zobrazí se, pokud existuje adresář. |
JEDEN VÝBĚR | 22 | Zobrazí se, pokud existuje neplatný argument. |
OBLÉCI | 23 | Zobrazí se, pokud je v systému příliš mnoho otevřených souborů. |
MRTVÍ | 24 | Zobrazí se, pokud je příliš mnoho otevřených souborů. |
ENOTTY | 25 | Zobrazí se, pokud je pro zařízení nevhodný ioctl. |
ETXTBSY | 26 | Zobrazí se, pokud je textový soubor zaneprázdněn. |
EFBIG | 27 | Zobrazí se, pokud je soubor příliš velký. |
ENOSPC | 28 | Zobrazí se, pokud na zařízení není volné místo. |
ESPIPE | 29 | Zobrazí se v případě nelegálního hledání. |
EROFS | 30 | Zobrazuje se v případě souborového systému pouze pro čtení. |
EMLINK | 31 | Zobrazí se, pokud je odkazů příliš mnoho. |
EPIPE | 32 | Zobrazí se v případě prasknutí potrubí. |
EDOM | 33 | Zobrazí se, pokud je číselný argument mimo doménu. |
ERANGE | 3. 4 | Zobrazí se, pokud je číselný výsledek mimo rozsah. |
EDEADLK | 35 | Zobrazí se, pokud nedojde k uváznutí zdroje. |
ENAMETOOOLING | 36 | Zobrazí se, pokud je název souboru příliš dlouhý. |
ENOLCK | 37 | Zobrazí se, pokud nejsou k dispozici žádné zámky. |
ENOSYS | 38 | Zobrazí se, pokud funkce není implementována. |
ENOTEMPTY | 39 | Zobrazí se, pokud adresář není prázdný. |
ELOOP | 40 | Zobrazí se, pokud existuje příliš mnoho úrovní symbolických odkazů. |
ENOMSG | 42 | Zobrazí se, pokud neexistuje žádná zpráva požadovaného typu. |
EIDRM | 43 | Zobrazí se, pokud je identifikátor odstraněn. |
ECHRNG | 44 | Zobrazí se, pokud je číslo kanálu mimo rozsah. |
EL2NSYNC | Čtyři pět | Zobrazí se, pokud úroveň 2 není synchronizována. |
EL3HLT | 46 | Zobrazí se, pokud je úroveň 3 zastavena. |
EL3RST | 47 | Zobrazí se, pokud je úroveň 3 resetována. |
ELNRNG | 48 | Zobrazí se, pokud je číslo odkazu mimo rozsah. |
EUNATCH | 49 | Zobrazí se, pokud není připojen ovladač protokolu. |
ENOCSI | padesáti | Zobrazí se, pokud není k dispozici žádná struktura CSI. |
EL2HLT | 51 | Zobrazí se, pokud je úroveň 2 zastavena. |
BYLO TO | 52 | Zobrazí se v případě neplatné výměny. |
EBADR | 53 | Zobrazí se v případě neplatného deskriptoru požadavku. |
VYPLNIT | 54 | Zobrazí se, pokud je výměna plná. |
ENOANO | 55 | Zobrazí se v případě, že není anoda. |
EBADRQC | 56 | Zobrazuje se pro neplatný kód požadavku. |
EBADSLT | 57 | Zobrazuje se pro neplatný slot. |
EBFONT | 59 | Zobrazí se, pokud je soubor s písmem ve špatném formátu. |
JEDNOSTRANNÉ | 60 | Zobrazí se, pokud zařízení není stream. |
ENODATA | 61 | Zobrazí se, pokud nejsou k dispozici žádná data. |
ETIME | 62 | Zobrazí se v případě, že časovač vypršel. |
ENOSR | 63 | Zobrazuje se v případě nedostatku zdrojů toků. |
ENONET | 64 | Zobrazí se, pokud stroj není v síti. |
ENOPKG | 65 | Zobrazí se, pokud balíček není nainstalován. |
EREMOTE | 66 | Zobrazí se, pokud je objekt vzdálený. |
ENOLINK | 67 | Zobrazí se, pokud byl odkaz přerušen. |
EADV | 68 | Zobrazuje se při chybě inzerce. |
ESRMNT | 69 | Zobrazuje se při chybě Srmount. |
ECOMM | 70 | Zobrazí se, pokud při odeslání dojde k chybě komunikace. |
EPROTO | 71 | Zobrazuje se při chybě protokolu. |
EMULTIHOP | 72 | Zobrazí se při pokusu o Multihop. |
EDOTDOT | 73 | Zobrazuje se pro specifickou chybu RFS. |
EBADMSG | 74 | Zobrazuje se pro Bad message. |
PŘETEKOVÁNÍ | 75 | Zobrazí se, pokud je hodnota příliš velká pro definovaný datový typ. |
ENOTUNIQ | 76 | Zobrazí se, pokud název není v síti jedinečný. |
EBADFD | 77 | Zobrazí se, pokud je deskriptor souboru ve špatném stavu. |
EREMCHG | 78 | Zobrazí se při změně vzdálené adresy. |
ELIBACC | 79 | Zobrazí se, pokud nemáme přístup k potřebné sdílené knihovně. |
ELIBBAD | 80 | Zobrazí se v případě přístupu k poškozené sdílené knihovně. |
ELIBSCN | 81 | Zobrazí se, pokud je v a.out část .lib poškozená. |
ELIBMAX | 82 | Zobrazí se, pokud se pokoušíme o propojení v příliš mnoha sdílených knihovnách. |
ELIBEXEC | 83 | Zobrazí se, pokud nemůžeme přímo spustit sdílenou knihovnu. |
EILSEQ | 84 | Zobrazí se pro neplatný nebo neúplný vícebajtový nebo široký znak |
ERESTART | 85 | Zobrazí se jako upozornění, že přerušené systémové volání by mělo být restartováno. |
ESTRPIPE | 86 | Zobrazí se, pokud dojde k chybě potrubí proudů. |
EUSERS | 87 | Zobrazuje se příliš velkému počtu uživatelů. |
ENOTSOCK | 88 | Zobrazuje se pro provoz soketu na nezásuvce. |
EDESTADDRREQ | 89 | Zobrazí se, pokud je požadována cílová adresa. |
EMSGSIZE | 90 | Zobrazí se, pokud je zpráva příliš dlouhá. |
EPROTOTYP | 91 | Zobrazí se, pokud je pro soket nesprávný typ protokolu. |
ENOPROTOOPT | 92 | Zobrazí se, pokud protokol není k dispozici. |
EPROTONOSUPPORT | 93 | Zobrazí se, pokud protokol není podporován. |
ESOCKTNOSUPPORT | 94 | Zobrazí se, pokud typ zásuvky není podporován. |
EOPNOTSUPP | 95 | Zobrazí se, pokud operace není podporována. |
EPFNOSUPPORT | 96 | Zobrazí se, pokud rodina protokolů není podporována. |
EAFNOSUPPORT | 97 | Zobrazí se, pokud rodina adres není podporována protokolem. |
EADDRINUS | 98 | Zobrazí se, pokud je adresa již používána. |
EADDRNOTAVAIL | 99 | Zobrazí se, pokud systém nemůže přiřadit požadovanou adresu. |
ENETDOWN | 100 | Zobrazí se, pokud je síť mimo provoz. |
ENETUNREACH | 101 | Zobrazí se, pokud je síť nedostupná. |
ENETRESET | 102 | Zobrazí se, pokud síť při resetování přerušila připojení. |
ECONNABORTED | 103 | Zobrazí se, pokud software způsobil přerušení připojení. |
ECONNRESET | 104 | Zobrazí se, pokud je spojení resetováno peerem. |
ENOBUFS | 105 | Zobrazí se, pokud není k dispozici vyrovnávací paměť. |
ESKON | 106 | Zobrazí se, pokud je koncový bod transportu již připojen. |
ENOTCONN | 107 | Zobrazí se, pokud koncový bod transportu není připojen. |
ESHUTDOWN | 108 | Zobrazí se, pokud systém nemůže odeslat po vypnutí koncového bodu přenosu. |
ETOOMANY REFS | 109 | Zobrazí se, pokud je příliš mnoho referencí: nelze spojovat. |
ETIMEDOUT | 110 | Zobrazí se, pokud vypršel časový limit připojení. |
ZPRÁVNĚNO | 111 | Zobrazí se, pokud je připojení odmítnuto. |
EHOSTDOWN | 112 | Zobrazí se, pokud je hostitel vypnutý. |
EHOSTUNREACH | 113 | Zobrazí se, pokud neexistuje žádná cesta k hostiteli. |
JIŽ | 114 | Zobrazí se, pokud operace již probíhá. |
KAŽDÝ POKROK | 115 | Zobrazí se, pokud operace právě probíhá. |
KLIKNĚTE | 116 | Zobrazuje se pro popisovač zastaralého souboru. |
EUCLEAN | 117 | Zobrazí se, pokud je třeba strukturu vyčistit. |
JEDNOTNÝ | 118 | Zobrazuje se u souboru jiného typu než XENIX. |
ZVOLIT | 119 | Zobrazí se, pokud nejsou k dispozici žádné semafory XENIX. |
EISNAM | 120 | Zobrazí se, pokud existuje soubor pojmenovaného typu. |
EREMOTIO | 121 | Zobrazuje se pro chybu Remote I/O. |
EDQUOT | 122 | Zobrazí se při překročení diskové kvóty. |
ENOMEDIUM | 123 | Zobrazí se, pokud nebylo nalezeno žádné médium. |
STŘEDNÍ TYP | 124 | Zobrazí se při nesprávném typu média. |
ZRUŠENO | 125 | Zobrazí se, pokud je operace zrušena. |
ENOKEY | 126 | Zobrazí se, pokud požadovaný klíč není k dispozici. |
EXPIROVANÝ EKEY | 127 | Zobrazí se, pokud platnost klíče vypršela. |
EKEYREVOKED | 128 | Zobrazí se, pokud byl klíč odvolán. |
EKEYREJECTED | 129 | Zobrazí se, pokud byl klíč odmítnut službou. |
EOWNERDEAD | 130 | Zobrazí se, pokud vlastník zemřel. |
OBNOVITELNÉ | 131 | Zobrazuje se bez obnovitelného stavu. |
ERFKILL | 132 | Zobrazí se, pokud operace není možná kvůli RF-kill. |
EHWPOISON | 133 | Zobrazí se, pokud na stránce paměti došlo k chybě hardwaru. |