logo

Linux hibakódok

A Linux hibakódok azok a kódok, amelyek akkor jelennek meg, ha hiba történik a rendszerben munka vagy program használata közben. A hibákat hibakódok segítségével lehet felismerni. A hibakódok segítenek a hiba forrásának felismerésében.

Ha Linux rendszeren dolgozunk, nyilvánvaló, hogy hibákba ütközhetünk. Egyes hibák kisebbek lehetnek, és nem vezethetnek a program megszakításához. De előfordulhatnak olyan hibák, amelyek miatt a rendszer vagy a program nem válaszol. Ezek a hibák adatvesztéshez vezethetnek, vagy megakadályozhatják a program befejezését. A hibák többnyire kódok vagy üzenetek formájában jelennek meg.

Ebben a részben a C programozás hibáit és a lehetséges hibák listáját láthatjuk Linux rendszer.

Linux hibák a C programozásban

Egy képzett programozónak tudnia kell, hogyan kezelje a hibákat. A C programozási nyelv nem nyújt közvetlen támogatást a hibakezeléshez. Fel kell derítenünk a hiba forrását és kezelnünk kell. C nyelvben a visszatérési értékek a sikertelenséget vagy a sikert jelzik. Ha egy függvény a C programban meghiúsul, akkor ennek megfelelően kell kezelnünk a hibát; egyébként a hibákat utoljára rögzíti egy naplófájlban.

A C programok végrehajtása során észrevehetünk néhány hibaszámot, például „Hibaszám: 17”. Itt a 17-es hiba azt jelenti, hogy a fájl már létezik. Minden hibaszámnak van valami jelentése.

A C nyelv támogatja a változókat 'hiba .' Ennek a hibaszám-változónak a használatával néhány hibakezelő függvényt használhatunk a megfelelő kezeléshez.

A külső változó hibaszámának használatához tartalmaznunk kell egy fejlécfájlt 'errno.h.' A fejlécfájl az „errno” változó meghatározására szolgál. Az errno változót a rendszerhívások és a könyvtári függvények állítják be a hiba előfordulásakor. Két fontos funkciója van a C programozási nyelv a hibák kezelésére; perror és strerror . A perror függvény a hibaleírás kinyomtatására szolgál, a sterror függvény pedig egy hibakóddal rendelkező karakterláncot ad vissza.

Jelenítsük meg a hibakódok listáját az errno használatával.

Linux hiba

Az errno segédprogram hibakódok, makrónevek és a megfelelő leírások megkeresésére szolgál. Például, ha Linux rendszeren biztosítjuk az ENOENT-t, akkor megjelenik a 2-es kód és a leírás ' Nincs ilyen fájl, vagy könyvtár .' Ha megadjuk a 2-es kódot, akkor megjelenik a ENOENT és leírása .

Ha az errno segédprogram nincs telepítve a gépünkre, akkor a következőképpen jeleníti meg a hibát:

Linux hibakódok

A telepítéshez hajtsa végre az alábbi parancsot:

 sudo apt install moreutils 

A fenti parancs végrehajtásával a moreutils csomag telepítésre kerül a gépünkre, amely tartalmazza az errno segédprogramot.

Linux hibakódok

Jelenítse meg a hibakódok listáját

A hibakódok listájának megjelenítéséhez hajtsa végre a következő parancsot:

 errno -l 

A fenti parancs megjeleníti a RedHat hibakódjainak listáját. Vegye figyelembe az alábbi kimenetet:

Linux hibakódok

Jelenítse meg a hibaszám információit

Egy adott hibaszám információinak megjelenítéséhez hajtsa végre a következő parancsot:

 errno 2 

A fenti parancs megjeleníti a 2-es számú hiba leírását. Vegye figyelembe az alábbi kimenetet:

Linux hibakódok

Jelenítse meg a hibanév információit

Egy adott hibanév információinak megjelenítéséhez hajtsa végre az errno parancsot, majd írja be a hiba nevét. Például egy hibanév információinak megjelenítéséhez „ESRCH , hajtsa végre a parancsot a következőképpen:

 errno ESRCH 

A fenti parancs megjeleníti a megadott hibanévre vonatkozó információkat. Vegye figyelembe az alábbi kimenetet:

Linux hibakódok

Jelenítse meg a hibát karakterláncok használatával

A hibaleírás megjelenítéséhez a leírásból származó karakterlánc használatával hajtsa végre a parancsot a következőképpen:

 errno -s permission 

A fenti parancs megjeleníti azokat a hibákat, amelyek leírása karakterlánc-engedélyt tartalmaz. Vegye figyelembe az alábbi kimenetet:

Linux hibakódok

Linux rendszerhibák listája

Az alábbiakban egy részleges lista található a Linux rendszer lehetséges hibáiról:

Hibakód hiba sz Leírás
Felső 1 Akkor jelenik meg, ha a művelet nem engedélyezett.
ENOENT 2 Akkor jelenik meg, ha nincs ilyen fájl vagy könyvtár.
ESRCH 3 Akkor jelenik meg, ha nem létezik ilyen folyamat.
EINTR 4 Megszakadt rendszerhívás esetén jelenik meg
EIO 5 Bemeneti/kimeneti hiba esetén jelenik meg.
ENXIO 6 Akkor jelenik meg, ha nincs ilyen eszköz vagy cím.
E2BIG 7 Akkor jelenik meg, ha az argumentumlista túl hosszú.
ENOEXEC 8 Exec formátum hiba esetén jelenik meg
EBADF 9 Rossz fájlleíró esetén jelenik meg.
GYERMEK 10 Akkor jelenik meg, ha nincs gyermekfolyamat.
ÚJRA tizenegy Akkor jelenik meg, ha az erőforrás átmenetileg nem elérhető.
ENOMEM 12 Akkor jelenik meg, ha a rendszer nem tud memóriát lefoglalni.
EACCES 13 Akkor jelenik meg, ha az engedélyt megtagadják.
FAULT 14 Rossz cím esetén jelenik meg.
ENOTBLK tizenöt Megjelenik, ha az eszköz blokkolása szükséges.
ELFOGLALT 16 Akkor jelenik meg, ha az eszköz vagy az erőforrás foglalt.
LÉTEZIK 17 Akkor jelenik meg, ha a fájl már létezik.
EXDEV 18 Akkor jelenik meg, ha érvénytelen az eszközök közötti kapcsolat.
ENODEV 19 Akkor jelenik meg, ha nincs ilyen eszköz.
ENOTDIR húsz Megjelenik, ha nincs könyvtár.
EISDIR huszonegy Megjelenik, ha van könyvtár.
EGYEDI VÁLASZTÁS 22 Érvénytelen argumentum esetén jelenik meg.
VEDD FEL 23 Akkor jelenik meg, ha túl sok nyitott fájl van a rendszerben.
HALOTT 24 Akkor jelenik meg, ha túl sok nyitott fájl van.
ENOTTY 25 Akkor jelenik meg, ha nem megfelelő ioctl van az eszközhöz.
ETXTBSY 26 Akkor jelenik meg, ha a szövegfájl foglalt.
EFBIG 27 Akkor jelenik meg, ha a fájl túl nagy.
ENOSPC 28 Akkor jelenik meg, ha nincs szabad hely az eszközön.
ESPIPE 29 Illegális keresés esetén jelenik meg.
EROFS 30 Csak olvasható fájlrendszer esetén jelenik meg.
EMLINK 31 Akkor jelenik meg, ha túl sok a hivatkozás.
EPIPE 32 Csőtörés esetén jelenik meg.
EDOM 33 Akkor jelenik meg, ha a numerikus argumentum tartományon kívül van.
ERANGE 3. 4 Akkor jelenik meg, ha a számszerű eredmény a tartományon kívül esik.
EDEADLK 35 Akkor jelenik meg, ha az erőforrások holtpontját sikerült elkerülni.
ENAMETOOLONG 36 Akkor jelenik meg, ha a fájlnév túl hosszú.
ENOLCK 37 Akkor jelenik meg, ha nincs elérhető zár.
ENOSYS 38 Akkor jelenik meg, ha a funkció nincs megvalósítva.
ENOTEMTY 39 Akkor jelenik meg, ha a könyvtár nem üres.
ELOOP 40 Akkor jelenik meg, ha túl sok szintje van a szimbolikus hivatkozásoknak.
ENOMSG 42 Akkor jelenik meg, ha nincs a kívánt típusú üzenet.
EIDRM 43 Az azonosító eltávolítása esetén megjelenik.
ECHRNG 44 Akkor jelenik meg, ha a csatorna száma a tartományon kívül esik.
EL2NSSYNC Négy öt Akkor jelenik meg, ha a 2. szint nincs szinkronizálva.
EL3HLT 46 Akkor jelenik meg, ha a 3. szint le van állítva.
EL3RST 47 A 3. szint visszaállítása esetén jelenik meg.
ELNRNG 48 Akkor jelenik meg, ha a hivatkozás száma tartományon kívül esik.
EUNATCH 49 Akkor jelenik meg, ha a protokoll-illesztőprogram nincs csatlakoztatva.
ENOCSI ötven Akkor jelenik meg, ha nem áll rendelkezésre CSI-struktúra.
EL2HLT 51 Akkor jelenik meg, ha a 2. szint le van állítva.
AKKOR MÁR 52 Érvénytelen csere esetén jelenik meg.
EBADR 53 Érvénytelen kérésleíró esetén jelenik meg.
EXFULL 54 Akkor jelenik meg, ha a csere megtelt.
ENOANO 55 Akkor jelenik meg, ha nincs anód.
EBADRQC 56 Érvénytelen kérési kód esetén jelenik meg.
EBADSLT 57 Érvénytelen slot esetén jelenik meg.
EBFONT 59 Akkor jelenik meg, ha rossz a font fájlformátum.
EGYOLDALÚ 60 Akkor jelenik meg, ha az eszköz nem adatfolyam.
ENODATA 61 Akkor jelenik meg, ha nem állnak rendelkezésre adatok.
ETIME 62 Akkor jelenik meg, ha az időzítő lejárt.
ENOSR 63 Az adatfolyamon kívüli erőforrások esetén jelenik meg.
ENONET 64 Akkor jelenik meg, ha a gép nincs a hálózaton.
ENOPKG 65 Akkor jelenik meg, ha a csomag nincs telepítve.
EREMOTE 66 Akkor jelenik meg, ha az objektum távoli.
ENOLINK 67 Akkor jelenik meg, ha a kapcsolat megszakadt.
EADV 68 Hirdetési hiba miatt jelenik meg.
ESRMNT 69 Srmount hiba esetén jelenik meg.
ECOMM 70 Akkor jelenik meg, ha kommunikációs hiba van a küldéskor.
EPROTO 71 Protokollhiba esetén jelenik meg.
EMULTIHOP 72 Megjelenik a Multihop próbálkozás esetén.
EDOTDOT 73 RFS-specifikus hiba esetén jelenik meg.
EBADMSG 74 Rossz üzenet esetén jelenik meg.
EOVERFLOW 75 Akkor jelenik meg, ha az érték túl nagy a meghatározott adattípushoz.
ENOTUNIQ 76 Akkor jelenik meg, ha a név nem egyedi a hálózaton.
EBADFD 77 Akkor jelenik meg, ha a fájlleíró rossz állapotban van.
EREMCHG 78 Akkor jelenik meg, ha a távoli cím megváltozik.
ELIBACC 79 Akkor jelenik meg, ha nem tudunk hozzáférni egy szükséges megosztott könyvtárhoz.
ELIBBÁD 80 Sérült megosztott könyvtárhoz való hozzáférés esetén jelenik meg.
ELIBSCN 81 Akkor jelenik meg, ha az a.out .lib szakasza sérült.
ELIBMAX 82 Akkor jelenik meg, ha túl sok megosztott könyvtárba próbálunk hivatkozni.
ELIBEXEC 83 Akkor jelenik meg, ha nem tudunk közvetlenül végrehajtani egy megosztott könyvtárat.
EILSEQ 84 Érvénytelen vagy hiányos többbájtos vagy széles karakter esetén jelenik meg
ERESTART 85 Megjelenik, jelezve, hogy a megszakadt rendszerhívást újra kell indítani.
ESTRPIPE 86 Megjelenik, ha streams pipe hiba van.
FELHASZNÁLÓK 87 Túl sok felhasználó számára jelenik meg.
ENOTSOCK 88 Megjelenik, ha nem aljzaton működik.
EDESTADDRREQ 89 Akkor jelenik meg, ha a rendeltetési hely címe szükséges.
EMSGSIZE 90 Akkor jelenik meg, ha az üzenet túl hosszú.
EPROTOTÍPUS 91 Akkor jelenik meg, ha a protokoll nem megfelelő típusú a socket számára.
ENOPROTOOPT 92 Akkor jelenik meg, ha a protokoll nem elérhető.
EPROTONOSUPPORT 93 Akkor jelenik meg, ha a protokoll nem támogatott.
ESOCKTNOSUPPORT 94 Akkor jelenik meg, ha a Socket típusa nem támogatott.
EOPNOTSUPP 95 Akkor jelenik meg, ha a művelet nem támogatott.
EPFNOSUPPORT 96 Akkor jelenik meg, ha a protokollcsalád nem támogatott.
EAFNOSUPPORT 97 Akkor jelenik meg, ha a címcsaládot nem támogatja a protokoll.
EADDRINUS 98 Akkor jelenik meg, ha a cím már használatban van.
EADDRNOT ELÉRHETŐ 99 Akkor jelenik meg, ha a rendszer nem tudja hozzárendelni a kért címet.
ENETDOWN 100 Akkor jelenik meg, ha a hálózat nem működik.
ENETUNREACH 101 Akkor jelenik meg, ha a hálózat nem érhető el.
ENETRESET 102 Akkor jelenik meg, ha a hálózati kapcsolat megszakadt a visszaállításkor.
ECONNABORTED 103 Akkor jelenik meg, ha a szoftver a kapcsolat megszakítását okozta.
ECONNRESET 104 Akkor jelenik meg, ha a kapcsolatot a peer alaphelyzetbe állította.
ENOBUFS 105 Akkor jelenik meg, ha nincs szabad pufferterület.
ESKON 106 Akkor jelenik meg, ha a szállítási végpont már csatlakoztatva van.
ENOTCONN 107 Akkor jelenik meg, ha a szállítási végpont nincs csatlakoztatva.
KIKAPCSOLÁS 108 Akkor jelenik meg, ha a rendszer nem tud küldeni a szállítási végpont leállítása után.
ETOOMANYREFS 109 Megjelenik, ha túl sok hivatkozás van: nem lehet splice.
ETIMEDOUT 110 Akkor jelenik meg, ha a kapcsolat lejárt.
ELFOGADOTT 111 Megjelenik, ha a csatlakozást elutasítják.
EHOSTDOWN 112 Akkor jelenik meg, ha a gazdagép nem működik.
EHOSTUNREACH 113 Akkor jelenik meg, ha nincs útvonal a gazdagéphez.
MÁR 114 Akkor jelenik meg, ha a művelet már folyamatban van.
MINDEN HALADÁS 115 Megjelenik, ha a művelet folyamatban van.
KATTINTÁS 116 Az elavult fájlkezelőnél jelenik meg.
EUCLEAN 117 Megjelenik, ha a szerkezet tisztításra szorul.
EGYENRUHA 118 Nem XENIX nevű típusú fájl esetén jelenik meg.
ENAVAIL 119 Akkor jelenik meg, ha nem állnak rendelkezésre XENIX szemaforok.
EISNAM 120 Megjelenik, ha van elnevezett típusú fájl.
EREMOTIO 121 Távoli I/O hiba esetén jelenik meg.
EDQUOT 122 A lemezkvóta túllépése esetén jelenik meg.
ENOMEDIUM 123 Akkor jelenik meg, ha nem található adathordozó.
EMEDIUMTYPE 124 Akkor jelenik meg, ha rossz adathordozó típus van.
TÖRÖLVE 125 Akkor jelenik meg, ha a művelet megszakad.
ENOKEY 126 Megjelenik, ha a szükséges kulcs nem elérhető.
EKEY LEJÁRT 127 Akkor jelenik meg, ha a kulcs lejárt.
EKEYREVOKED 128 Akkor jelenik meg, ha a kulcsot visszavonták.
EKEY ELUTASÍTVA 129 Akkor jelenik meg, ha a kulcsot a szerviz elutasította.
EOWNERDEAD 130 Akkor jelenik meg, ha a tulajdonos meghalt.
NEM HELYEZHETŐ 131 Visszaállíthatatlan állapot esetén jelenik meg.
ERFKILL 132 Akkor jelenik meg, ha a művelet nem lehetséges az RF-kill miatt.
EHWPOISON 133 Akkor jelenik meg, ha a memóriaoldalon hardverhiba van.