logo

Linuxin virhekoodit

Linux-virhekoodit ovat niitä koodeja, jotka näytetään, jos järjestelmässä tapahtuu virhe työskennellessä tai ohjelmaa käytettäessä. Virheet voidaan tunnistaa virhekoodien avulla. Virhekoodit auttavat meitä tunnistamaan virheen lähteen.

Jos työskentelemme Linux-järjestelmän parissa, on selvää, että saatamme kohdata virheitä. Jotkut virheet voivat olla vähäisiä eivätkä välttämättä aiheuta ohjelman keskeytyksiä. Mutta jotkin virheet voivat saada järjestelmän tai ohjelman lakkaamaan vastaamasta. Nämä virheet voivat johtaa tietojen menetykseen tai estää ohjelman valmistumisen. Useimmiten virheet näkyvät koodien tai viestien muodossa.

Tässä osiossa näemme C-ohjelmoinnin virheet ja luettelon mahdollisista virheistä Linux järjestelmä.

Linux-virheet C-ohjelmoinnissa

Ammattitaitoisen ohjelmoijan tulee osata käsitellä virheitä. C-ohjelmointikieli ei tarjoa suoraa tukea virheiden käsittelyyn. Meidän on löydettävä virheen lähde ja puututtava siihen. C-kielellä palautusarvot osoittavat epäonnistumisen tai onnistumisen. Jos jokin C-ohjelman funktio epäonnistuu, meidän on käsiteltävä virhe vastaavasti; muuten se tallentaa virheet lokitiedostoon viimeiseksi.

C-ohjelmia suoritettaessa saatamme havaita virhenumeroita, kuten 'Virhenumero on: 17'. Tässä virhe nro 17 tarkoittaa, että tiedosto on jo olemassa. Jokaisella virhenumerolla on jokin merkitys.

C-kieli tukee muuttujaa 'virhe .' Käyttämällä tätä virhenumeromuuttujaa voimme käyttää joitain virheenkäsittelytoimintoja käsitelläksemme sitä oikein.

Ulkoisen muuttujan virhenumeron käyttämiseksi meidän on sisällytettävä otsikkotiedosto 'errno.h.' Otsikkotiedostoa käytetään errno-muuttujan määrittämiseen. Errno-muuttujan asettavat järjestelmäkutsut ja kirjastotoiminnot virhetapauksessa. Siinä on kaksi tärkeää toimintoa C-ohjelmointikieli käsitellä virheitä; virhe ja strerror . Perror-funktiota käytetään virheen kuvauksen tulostamiseen ja sterror-funktio palauttaa merkkijonon, jossa on virhekoodi.

Näytetään virhekoodiluettelo käyttämällä errnoa.

Linux virhe

Errno-apuohjelmaa käytetään errno-koodien, makron nimien ja vastaavien kuvausten etsimiseen. Jos esimerkiksi tarjoamme ENOENTin Linux-järjestelmässä, se näyttää koodin 2 ja kuvauksen ' Ei tällaista tiedostoa tai hakemistoa .' Jos annamme koodin 2, se näyttää ENOENT ja sen kuvaus .

Jos errno-apuohjelmaa ei ole asennettu koneellemme, se näyttää virheilmoituksen seuraavasti:

Linuxin virhekoodit

Asenna se suorittamalla alla oleva komento:

 sudo apt install moreutils 

Suorittamalla yllä oleva komento, moreutils-paketti asennetaan koneellemme, joka sisältää errno-apuohjelman.

Linuxin virhekoodit

Näytä virhekoodien luettelo

Voit näyttää virhekoodien luettelon suorittamalla komennon seuraavasti:

 errno -l 

Yllä oleva komento näyttää RedHatin virhekoodien luettelon. Harkitse alla olevaa tulosta:

Linuxin virhekoodit

Näytä virhenumeron tiedot

Jos haluat näyttää tietyn virhenumeron tiedot, suorita komento seuraavasti:

 errno 2 

Yllä oleva komento näyttää virheen numero 2 kuvauksen. Harkitse alla olevaa tulosta:

Linuxin virhekoodit

Näytä virheen nimen tiedot

Jos haluat näyttää tietyn virheen nimen tiedot, suorita komento errno ja sen jälkeen virheen nimi. Esimerkiksi virheen nimen tietojen näyttäminen 'ESRCH , suorita komento seuraavasti:

 errno ESRCH 

Yllä oleva komento näyttää tiedot määritetystä virhenimestä. Harkitse alla olevaa tulosta:

Linuxin virhekoodit

Näytä virhe merkkijonojen avulla

Jos haluat näyttää virheen kuvauksen käyttämällä kuvauksen merkkijonoa, suorita komento seuraavasti:

 errno -s permission 

Yllä oleva komento näyttää virheet, joiden kuvaus sisältää merkkijonon käyttöoikeuden. Harkitse alla olevaa tulosta:

Linuxin virhekoodit

Luettelo Linux-järjestelmävirheistä

Seuraavassa on osittainen luettelo Linux-järjestelmän mahdollisista virheistä:

Virhekoodi virhe nro Kuvaus
Yläosa 1 Se näytetään, jos toimintoa ei sallita.
ENOENT 2 Se näytetään, jos tällaista tiedostoa tai hakemistoa ei ole.
ESRCH 3 Se näytetään, jos tällaista prosessia ei ole.
EINTR 4 Se näytetään keskeytetyn järjestelmäpuhelun kohdalla
EIO 5 Se näytetään tulo/lähtövirheen varalta.
ENXIO 6 Se näytetään, jos sellaista laitetta ei ole tai osoitetta ei ole.
E2BIG 7 Se näytetään, jos argumenttiluettelo on liian pitkä.
ENOEXEC 8 Se näytetään, jos kyseessä on exec-muotovirhe
EBADF 9 Se näytetään, jos tiedostokuvaaja on huono.
LAPSI 10 Se näytetään, jos lapsiprosessia ei ole.
UUDELLEEN yksitoista Se näytetään, jos resurssi ei ole tilapäisesti käytettävissä.
ENOMEM 12 Se näkyy, jos järjestelmä ei pysty varaamaan muistia.
EACCES 13 Se näkyy, jos lupa evätään.
EFAULT 14 Se näkyy, jos osoite on väärä.
ENOTBLK viisitoista Se näytetään, jos Estä laite vaaditaan.
KIIREINEN 16 Se näkyy, jos laite tai resurssi on varattu.
OLEMASSA 17 Se näytetään, jos tiedosto on jo olemassa.
EXDEV 18 Se näytetään, jos laitteiden välinen linkki on virheellinen.
ENODEV 19 Se näkyy, jos sellaista laitetta ei ole.
ENOTDIR kaksikymmentä Se näkyy, jos hakemistoa ei ole.
EISDIR kaksikymmentäyksi Se näkyy, jos hakemistoa on.
YKSI VALINTA 22 Se näytetään, jos argumentti on virheellinen.
LAITA PÄÄLLE 23 Se näytetään, jos järjestelmässä on liian monta avointa tiedostoa.
KUOLLUT 24 Se näytetään, jos avoimia tiedostoja on liian monta.
ENOTTY 25 Se näytetään, jos laitteelle on sopimaton ioctl.
ETXTBSY 26 Se näkyy, jos tekstitiedosto on varattu.
EFBIG 27 Se näytetään, jos tiedosto on liian suuri.
ENOSPC 28 Se näkyy, jos laitteessa ei ole tilaa.
ESPIPE 29 Se näytetään laittoman haun yhteydessä.
EROFS 30 Se näytetään vain luku -tiedostojärjestelmän tapauksessa.
EMLINK 31 Se näytetään, jos linkkejä on liikaa.
EPIPE 32 Se näkyy, jos putki rikkoutuu.
EDOM 33 Se näytetään, jos numeerinen argumentti on toimialueen ulkopuolella.
ERANGE 3. 4 Se näytetään, jos numeerinen tulos on alueen ulkopuolella.
EDEADLK 35 Se näytetään, jos resurssien lukkiutuminen vältetään.
ENAMETOOLONG 36 Se näytetään, jos tiedostonimi on liian pitkä.
ENOLCK 37 Se näkyy, jos lukkoja ei ole saatavilla.
ENOSYS 38 Se näytetään, jos toimintoa ei ole toteutettu.
TYHJYYS 39 Se näkyy, jos hakemisto ei ole tyhjä.
ELOOP 40 Se näytetään, jos symbolisia linkkejä on liikaa.
ENOMSG 42 Se näytetään, jos halutun tyyppistä viestiä ei ole.
EIDRM 43 Se näkyy, jos tunniste poistetaan.
ECHRNG 44 Se näkyy, jos kanavanumero on alueen ulkopuolella.
EL2NSYNC Neljä viisi Se näkyy, jos tasoa 2 ei ole synkronoitu.
EL3HLT 46 Se näkyy, jos taso 3 on pysäytetty.
EL3RST 47 Se näkyy, jos taso 3 nollataan.
ELNRNG 48 Se näytetään, jos linkin numero on alueen ulkopuolella.
EUNATCH 49 Se näkyy, jos protokollaohjainta ei ole liitetty.
ENOCSI viisikymmentä Se näytetään, jos CSI-rakennetta ei ole saatavilla.
EL2HLT 51 Se näkyy, jos taso 2 on pysäytetty.
SE ON OLLUT 52 Se näytetään virheellisen vaihdon tapauksessa.
EBADR 53 Se näytetään, jos pyyntökuvaaja on virheellinen.
EXFULL 54 Se näkyy, jos vaihto on täynnä.
ENOANO 55 Se näkyy, jos anodia ei ole.
EBADRQC 56 Se näytetään, jos pyyntökoodi on virheellinen.
EBADSLT 57 Se näytetään virheellisen paikan kohdalla.
EBFONT 59 Se näytetään, jos fonttitiedostomuoto on huono.
YKSIPUOLINEN 60 Se näytetään, jos laite ei ole suoratoisto.
ENODATA 61 Se näytetään, jos tietoja ei ole saatavilla.
AIKA 62 Se näkyy, jos ajastin on vanhentunut.
ENOSR 63 Se näytetään, jos resursseja ei ole.
ENONET 64 Se näkyy, jos laite ei ole verkossa.
ENOPKG 65 Se näkyy, jos pakettia ei ole asennettu.
EREMOTE 66 Se näkyy, jos kohde on etänä.
ENOLINK 67 Se näkyy, jos linkki on katkennut.
EADV 68 Se näytetään mainosvirheen vuoksi.
ESRMNT 69 Se näytetään Srmount-virheen vuoksi.
ECOMM 70 Se näkyy, jos lähetyksessä on tiedonsiirtovirhe.
EPROTO 71 Se näytetään protokollavirheen varalta.
EMULTIHOP 72 Se näytetään Multihop-yritysten kohdalla.
EDOTDOT 73 Se näytetään RFS-kohtaisten virheiden yhteydessä.
EBADMSG 74 Se näkyy huonossa viestissä.
EOVERFLOW 75 Se näytetään, jos arvo on liian suuri määritetylle tietotyypille.
ENOTUNIQ 76 Se näytetään, jos nimi ei ole ainutlaatuinen verkossa.
EBADFD 77 Se näytetään, jos tiedostokuvaaja on huonossa tilassa.
EREMCHG 78 Se näkyy, jos etäosoite muuttuu.
ELIBACC 79 Se näytetään, jos emme voi käyttää tarvittavaa jaettua kirjastoa.
ELIBBAD 80 Se näytetään, jos käytät vioittunutta jaettua kirjastoa.
ELIBSCN 81 Se näytetään, jos .lib-osio a.outissa on vioittunut.
ELIBMAX 82 Se näytetään, jos yritämme linkittää liian moneen jaettuun kirjastoon.
ELIBEXEC 83 Se näytetään, jos emme voi suorittaa jaettua kirjastoa suoraan.
EILSEQ 84 Se näytetään virheellisen tai epätäydellisen monitavuisen tai leveän merkin kohdalla
ERESTART 85 Se näytetään ilmoittamaan, että keskeytynyt järjestelmäpuhelu on käynnistettävä uudelleen.
ESTRPIPE 86 Se näytetään, jos virtausputkissa on virhe.
KÄYTTÄJÄT 87 Se näytetään liian monelle käyttäjälle.
ENOTSOCK 88 Se näkyy pistorasian toiminnassa ei-pistorasiassa.
EDESTADDRREQ 89 Se näytetään, jos kohdeosoite vaaditaan.
EMGSSIZE 90 Se näkyy, jos viesti on liian pitkä.
EPROTOTYYPPI 91 Se näytetään, jos protokolla on väärän tyyppinen socketille.
ENOPROTOOPT 92 Se näkyy, jos protokolla ei ole käytettävissä.
EPROTONOSUPPORT 93 Se näkyy, jos protokollaa ei tueta.
ESOCKTNOSUPPORT 94 Se näkyy, jos Socket-tyyppiä ei tueta.
EOPNOTSUPP 95 Se näkyy, jos toimintoa ei tueta.
EPFNOSUPPORT 96 Se näkyy, jos protokollaperhettä ei tueta.
EAFNOSUPPORT 97 Se näytetään, jos protokolla ei tue osoiteperhettä.
EADDRINUS 98 Se näkyy, jos osoite on jo käytössä.
EADDRNOT SAATAVILLA 99 Se näytetään, jos järjestelmä ei voi määrittää pyydettyä osoitetta.
ENETDOWN 100 Se näkyy, jos verkko on poikki.
ENETUNREACH 101 Se näkyy, jos verkkoon ei saada yhteyttä.
ENETRESET 102 Se näkyy, jos verkkoyhteys on katkennut nollattaessa.
ECONABORTED 103 Se näkyy, jos ohjelmisto aiheutti yhteyden katkeamisen.
ECONNRESET 104 Se näytetään, jos vertaisverkko on nollannut yhteyden.
ENOBUFS 105 Se näytetään, jos puskuritilaa ei ole käytettävissä.
ESKON 106 Se näytetään, jos kuljetuksen päätepiste on jo yhdistetty.
ENOTCONN 107 Se näytetään, jos kuljetuksen päätepistettä ei ole yhdistetty.
SULKU 108 Se näytetään, jos järjestelmä ei voi lähettää lähetystä kuljetuksen päätepisteen sammutuksen jälkeen.
ETOOMANYREFS 109 Se näytetään, jos viittauksia on liian monta: ei voida yhdistää.
ETIMEDOUT 110 Se näkyy, jos yhteys on aikakatkaistu.
KIELÄTYNYT 111 Se näkyy, jos yhteys evätään.
EHOSTDOWN 112 Se näkyy, jos isäntä on alhaalla.
EHOSTUNREACH 113 Se näytetään, jos isäntäreittiä ei ole.
JO JO 114 Se näkyy, jos toiminto on jo käynnissä.
JOKAINEN EDISTYMINEN 115 Se näkyy, jos toiminto on parhaillaan käynnissä.
KLIKKAUS 116 Se näytetään vanhentuneen tiedostokahvan kohdalla.
EUCLEAN 117 Se näkyy, jos rakenne tarvitsee puhdistusta.
UNIFORM 118 Se ei näy XENIX-tyyppiselle tiedostolle.
ENAVAIL 119 Se näytetään, jos XENIX-semaforeja ei ole saatavilla.
EISNAM 120 Se näytetään, jos on nimetty tyyppinen tiedosto.
EREMOTIO 121 Se näkyy Remote I/O -virheen yhteydessä.
EDQUOT 122 Se näytetään, jos levykiintiö ylittyy.
ENOMEDIUM 123 Se näytetään, jos tietovälinettä ei löydy.
EMEDIUMTYPE 124 Se näytetään, jos tietoväline on väärä.
PERUUTETTU 125 Se näkyy, jos toiminta peruutetaan.
ENOKEY 126 Se näkyy, jos vaadittua avainta ei ole saatavilla.
EKEY PÄÄNTYNYT 127 Se näkyy, jos avain on vanhentunut.
EKEYREVOKED 128 Se näkyy, jos avain on peruutettu.
EKEY hylätty 129 Se näkyy, jos huolto hylkäsi avaimen.
EOWNERDEAD 130 Se näkyy, jos omistaja on kuollut.
EI PALAUTETTU 131 Se näytetään, jos tila ei palauteta.
ERFKILL 132 Se näkyy, jos toiminto ei ole mahdollista RF-kill:n vuoksi.
EHWPOISON 133 Se näytetään, jos muistisivulla on laitteistovirhe.