Linux kļūdu kodi ir tie kodi, kas tiek parādīti, ja sistēmā rodas kļūda, strādājot vai izmantojot programmu. Kļūdas var atpazīt ar kļūdu kodu palīdzību. Kļūdu kodi palīdz mums atpazīt kļūdas avotu.
Ja mēs strādājam ar Linux sistēmu, ir skaidrs, ka mēs varam saskarties ar kļūdām. Dažas kļūdas var būt nelielas un var neizraisīt programmas pārtraukšanu. Taču var būt dažas kļūdas, kuru dēļ sistēma vai programma var pārstāt reaģēt. Šīs kļūdas var izraisīt datu zudumu vai kavēt programmas pabeigšanu. Pārsvarā kļūdas tiek parādītas kodu vai ziņojumu veidā.
Šajā sadaļā mēs redzēsim C programmēšanas kļūdas un iespējamo kļūdu sarakstu Linux sistēma.
Linux kļūdas C programmēšanā
Prasmīgam programmētājam jāzina, kā rīkoties ar kļūdām. C programmēšanas valoda nenodrošina tiešu atbalstu kļūdu apstrādei. Mums ir jāatrod kļūdas avots un jātiek galā ar to. C valodā atgriešanas vērtības parāda neveiksmi vai panākumus. Ja kāda funkcija programmā C neizdodas, mums ir attiecīgi jārīkojas ar kļūdu; pretējā gadījumā tas žurnāla failā ieraksta kļūdas pēdējās.
Palaižot C programmas, mēs varam pamanīt dažus kļūdu numurus, piemēram, 'Kļūdas numurs ir: 17'. Šeit kļūda Nr. 17 nozīmē, ka fails jau pastāv. Katram kļūdas numuram ir sava nozīme.
C valoda atbalsta mainīgo 'kļūda .' Izmantojot šo kļūdas numura mainīgo, mēs varam izmantot dažas kļūdu apstrādes funkcijas, lai to pareizi apstrādātu.
Lai izmantotu ārējā mainīgā kļūdas numuru, mums ir jāiekļauj galvenes fails 'errno.h.' Galvenes fails tiek izmantots, lai definētu mainīgo 'errno'. Errno mainīgo iestata sistēmas izsaukumi un bibliotēkas funkcijas kļūdas gadījumā. Ir divas svarīgas funkcijas C programmēšanas valoda tikt galā ar kļūdām; kļūda un strerror . Perror funkcija tiek izmantota, lai izdrukātu kļūdas aprakstu, un funkcija sterror atgriež virkni ar kļūdas kodu.
Parādīsim kļūdu kodu sarakstu, izmantojot errno.
Linux kļūda
Errno utilīta tiek izmantota, lai meklētu kļūdu kodus, makro nosaukumus un atbilstošos aprakstus. Piemēram, ja mēs nodrošinām ENOENT Linux sistēmā, tas parādīs kodu 2 un aprakstu ' Nav tāda faila vai direktorijas .' Ja mēs norādīsim kodu 2, tas parādīs ENOENT un tā apraksts .
Ja mūsu mašīnā nav instalēta utilīta errno, tā parādīs kļūdu šādi:
Lai to instalētu, izpildiet tālāk norādīto komandu:
sudo apt install moreutils
Izpildot iepriekš minēto komandu, mūsu datorā tiek instalēta pakotne moreutils, kurā ir utilīta errno.
Parādiet kļūdu kodu sarakstu
Lai parādītu kļūdu kodu sarakstu, izpildiet komandu šādi:
errno -l
Iepriekš minētā komanda parādīs RedHat kļūdu kodu sarakstu. Apsveriet tālāk norādīto izvadi:
Parādiet informāciju par kļūdas numuru
Lai parādītu informāciju par konkrētu kļūdas numuru, izpildiet komandu šādi:
errno 2
Iepriekš minētā komanda parādīs kļūdas numura 2 aprakstu. Apsveriet tālāk norādīto izvadi:
Parādiet informāciju par kļūdas nosaukumu
Lai parādītu informāciju par konkrētu kļūdas nosaukumu, izpildiet komandu errno, kam seko kļūdas nosaukums. Piemēram, lai parādītu informāciju par kļūdas nosaukumu “ESRCH , izpildiet komandu šādi:
errno ESRCH
Iepriekš minētā komanda parādīs informāciju par norādīto kļūdas nosaukumu. Apsveriet tālāk norādīto izvadi:
Parādiet kļūdu, izmantojot virknes
Lai parādītu kļūdas aprakstu, izmantojot apraksta virkni, izpildiet komandu šādi:
errno -s permission
Iepriekš minētā komanda parādīs kļūdas, kuru aprakstā ir ietverta virknes atļauja. Apsveriet tālāk norādīto izvadi:
Linux sistēmas kļūdu saraksts
Šis ir daļējs iespējamo Linux sistēmas kļūdu saraksts:
Kļūdas kods | kļūda Nr | Apraksts |
---|---|---|
Augšējais | 1 | Tas tiek parādīts, ja darbība nav atļauta. |
ENOENT | 2 | Tas tiek parādīts, ja šāda faila nav vai direktorija nepastāv. |
ESRCH | 3 | Tas tiek parādīts, ja šāda procesa nav. |
EINTR | 4 | Tas tiek parādīts, ja tiek pārtraukts sistēmas zvans |
EIR | 5 | Tas tiek parādīts ievades/izvades kļūdas gadījumā. |
ENXIO | 6 | Tas tiek parādīts, ja šādas ierīces nav vai adrese nepastāv. |
E2BIG | 7 | Tas tiek parādīts, ja argumentu saraksts ir pārāk garš. |
ENOEXEC | 8 | Tas tiek parādīts, ja ir exec formāta kļūda |
EBADF | 9 | Tas tiek parādīts slikta faila deskriptora gadījumā. |
BĒRNS | 10 | Tas tiek parādīts, ja nav pakārtota procesa. |
VĒLREIZ | vienpadsmit | Tas tiek parādīts, ja resurss īslaicīgi nav pieejams. |
ENOMEM | 12 | Tas tiek parādīts, ja sistēma nevar piešķirt atmiņu. |
EACCES | 13 | Tas tiek parādīts, ja atļauja ir liegta. |
EFAULT | 14 | Tas tiek parādīts, ja ir slikta adrese. |
ENOTBLK | piecpadsmit | Tas tiek parādīts, ja ir nepieciešams Bloķēt ierīci. |
AIZŅEMTS | 16 | Tas tiek parādīts, ja ierīce vai resurss ir aizņemts. |
PASTĀV | 17 | Tas tiek parādīts, ja fails jau pastāv. |
EXDEV | 18 | Tas tiek parādīts, ja ir nederīga vairāku ierīču saite. |
ENODEV | 19 | Tas tiek parādīts, ja šādas ierīces nav. |
ENOTDIR | divdesmit | Tas tiek parādīts, ja nav direktorija. |
EISDIR | divdesmitviens | Tas tiek parādīts, ja ir direktorijs. |
VIENA IZVĒLE | 22 | Tas tiek parādīts, ja ir nederīgs arguments. |
UZVILKT | 23 | Tas tiek parādīts, ja sistēmā ir pārāk daudz atvērtu failu. |
MIRUŠS | 24 | Tas tiek parādīts, ja ir pārāk daudz atvērtu failu. |
ENOTTY | 25 | Tas tiek parādīts, ja ierīcei ir neatbilstošs ioctl. |
ETXTBSY | 26 | Tas tiek parādīts, ja teksta fails ir aizņemts. |
EFBIG | 27 | Tas tiek parādīts, ja fails ir pārāk liels. |
ENOSPC | 28 | Tas tiek parādīts, ja ierīcē nav atlicis brīvas vietas. |
ESPIPE | 29 | Tas tiek parādīts nelikumīgas meklēšanas gadījumā. |
EROFS | 30 | Tas tiek rādīts tikai lasāmas failu sistēmas gadījumā. |
EMLINK | 31 | Tas tiek parādīts, ja ir pārāk daudz saišu. |
EPIPE | 32 | Tas tiek parādīts caurules plīsuma gadījumā. |
EDOM | 33 | Tas tiek parādīts, ja skaitliskais arguments ir ārpus domēna. |
ERANGE | 3. 4 | Tas tiek parādīts, ja skaitliskais rezultāts ir ārpus diapazona. |
EDEADLK | 35 | Tas tiek parādīts, ja tiek novērsts resursu strupceļš. |
ENAMETOOLONG | 36 | Tas tiek parādīts, ja faila nosaukums ir pārāk garš. |
ENOLCK | 37 | Tas tiek parādīts, ja nav pieejamas slēdzenes. |
ENOSYS | 38 | Tas tiek parādīts, ja funkcija nav ieviesta. |
TUKŠĪBA | 39 | Tas tiek parādīts, ja direktorija nav tukša. |
ELOOP | 40 | Tas tiek parādīts, ja ir pārāk daudz simbolisko saišu līmeņu. |
ENOMSG | 42 | Tas tiek parādīts, ja nav vajadzīgā veida ziņojuma. |
EIDRM | 43 | Tas tiek parādīts, ja identifikators ir noņemts. |
ECHRNG | 44 | Tas tiek parādīts, ja kanāla numurs ir ārpus diapazona. |
EL2NSYNC | Četri | Tas tiek parādīts, ja 2. līmenis nav sinhronizēts. |
EL3HLT | 46 | Tas tiek parādīts, ja 3. līmenis ir apturēts. |
EL3RST | 47 | Tas tiek parādīts, ja 3. līmenis ir atiestatīts. |
ELNRNG | 48 | Tas tiek parādīts, ja saites numurs ir ārpus diapazona. |
EUNATC | 49 | Tas tiek parādīts, ja nav pievienots protokola draiveris. |
ENOCSI | piecdesmit | Tas tiek parādīts, ja nav pieejama CSI struktūra. |
EL2HLT | 51 | Tas tiek parādīts, ja 2. līmenis ir apturēts. |
TAS IR BIJIS | 52 | Tas tiek parādīts nederīgas apmaiņas gadījumā. |
EBADR | 53 | Tas tiek parādīts nederīga pieprasījuma deskriptora gadījumā. |
EXFULL | 54 | Tas tiek parādīts, ja apmaiņa ir pilna. |
ENOANO | 55 | Tas tiek parādīts, ja nav anoda. |
EBADRQC | 56 | Tas tiek parādīts nederīgam pieprasījuma kodam. |
EBADSLT | 57 | Tas tiek parādīts nederīgam slotam. |
EBFONT | 59 | Tas tiek parādīts, ja ir slikts fonta faila formāts. |
VIENPUSĒJAS | 60 | Tas tiek parādīts, ja ierīce nav straume. |
ENODATA | 61 | Tas tiek parādīts, ja nav pieejami dati. |
LAIKS | 62 | Tas tiek parādīts, ja taimeris ir beidzies. |
ENOSR | 63 | Tas tiek parādīts, ja resursi nav straumēti. |
ENONET | 64 | Tas tiek parādīts, ja iekārta nav pieslēgta tīklam. |
ENOPKG | 65 | Tas tiek parādīts, ja pakotne nav instalēta. |
EREMOTE | 66 | Tas tiek parādīts, ja objekts atrodas attālināti. |
ENOLINK | 67 | Tas tiek parādīts, ja saite ir pārtraukta. |
EADV | 68 | Tas tiek parādīts reklāmas kļūdas dēļ. |
ESRMNT | 69 | Tas tiek parādīts Srmount kļūdas gadījumā. |
ECOMM | 70 | Tas tiek parādīts, ja sūtīšanas laikā ir radusies komunikācijas kļūda. |
EPROTO | 71 | Tas tiek parādīts protokola kļūdas gadījumā. |
EMULTIHOP | 72 | Tas tiek parādīts, ja mēģināts vairākkārt. |
EDOTDOT | 73 | Tas tiek parādīts RFS specifiskai kļūdai. |
EBADMSG | 74 | Tas tiek parādīts sliktā ziņojuma gadījumā. |
EOVERPLOW | 75 | Tas tiek parādīts, ja vērtība ir pārāk liela noteiktajam datu tipam. |
ENOTUNIQ | 76 | Tas tiek parādīts, ja nosaukums tīklā nav unikāls. |
EBADFD | 77 | Tas tiek parādīts, ja faila deskriptors ir sliktā stāvoklī. |
EREMCHG | 78 | Tas tiek parādīts, ja tiek mainīta attālā adrese. |
ELIBACC | 79 | Tas tiek parādīts, ja nevaram piekļūt vajadzīgajai koplietojamai bibliotēkai. |
ELIBĀDS | 80 | Tas tiek parādīts, ja piekļūstat bojātai koplietotai bibliotēkai. |
ELIBSCN | 81 | Tas tiek parādīts, ja a.out ir bojāta sadaļa .lib. |
ELIBMAX | 82 | Tas tiek parādīts, ja mēs mēģinām izveidot saiti pārāk daudzās koplietojamās bibliotēkās. |
ELIBEXEC | 83 | Tas tiek parādīts, ja nevaram tieši izpildīt koplietotu bibliotēku. |
EILSEQ | 84 | Tas tiek parādīts, ja ir nederīga vai nepilnīga vairāku baitu vai plata rakstzīme |
ERESTART | 85 | Tas tiek parādīts, lai informētu, ka pārtrauktais sistēmas zvans ir jārestartē. |
ESTRPIPE | 86 | Tas tiek parādīts, ja ir plūsmas caurules kļūda. |
LIETOTĀJI | 87 | Tas tiek rādīts pārāk daudziem lietotājiem. |
ENOTSOCK | 88 | Tas tiek parādīts ligzdas darbībai bez ligzdas. |
EDESTADDRREQ | 89 | Tas tiek parādīts, ja ir nepieciešama galamērķa adrese. |
EMSGSIZE | 90 | Tas tiek parādīts, ja ziņojums ir pārāk garš. |
EPROTOTIPS | 91 | Tas tiek parādīts, ja ligzdai ir nepareizs protokols. |
ENOPROTOOPT | 92 | Tas tiek parādīts, ja protokols nav pieejams. |
EPROTONOATBALSTS | 93 | Tas tiek parādīts, ja protokols netiek atbalstīts. |
ESOCKTNOSUPPORT | 94 | Tas tiek parādīts, ja Socket tips netiek atbalstīts. |
EOPNOTSUPP | 95 | Tas tiek parādīts, ja darbība netiek atbalstīta. |
EPFNOSUPPORT | 96 | Tas tiek parādīts, ja protokolu saime netiek atbalstīta. |
EAFNOSUPPORT | 97 | Tas tiek parādīts, ja adrešu saimi neatbalsta protokols. |
EADDRINUS | 98 | Tas tiek parādīts, ja adrese jau tiek izmantota. |
EADDRNEPIEEJAMS | 99 | Tas tiek parādīts, ja sistēma nevar piešķirt pieprasīto adresi. |
ENETDOWN | 100 | Tas tiek parādīts, ja tīkls nedarbojas. |
ENETUNREACH | 101 | Tas tiek parādīts, ja tīkls nav sasniedzams. |
ENETRESET | 102 | Tas tiek parādīts, ja tīkla savienojums ir pārtraukts atiestatīšanas laikā. |
ECONNABORTED | 103 | Tas tiek parādīts, ja programmatūra ir izraisījusi savienojuma pārtraukšanu. |
ECONNRESET | 104 | Tas tiek parādīts, ja savienojumu atiestata vienādranga. |
ENOBUFS | 105 | Tas tiek parādīts, ja nav pieejama bufera vieta. |
ESKON | 106 | Tas tiek parādīts, ja transporta galapunkts jau ir savienots. |
ENOTCONN | 107 | Tas tiek parādīts, ja transporta galapunkts nav savienots. |
IZSLĒGŠANA | 108 | Tas tiek parādīts, ja sistēma nevar nosūtīt pēc transportēšanas galapunkta izslēgšanas. |
ETOOMANYREFS | 109 | Tas tiek parādīts, ja ir pārāk daudz atsauču: nevar salaist. |
ETIMEDOUT | 110 | Tas tiek parādīts, ja ir iestājies savienojuma taimauts. |
ATSAISTĪTS | 111 | Tas tiek parādīts, ja savienojums tiek atteikts. |
EHOSTDOWN | 112 | Tas tiek parādīts, ja resursdators nedarbojas. |
EHOSTUNREACH | 113 | Tas tiek parādīts, ja nav maršruta uz saimniekdatoru. |
JAU | 114 | Tas tiek parādīts, ja darbība jau notiek. |
KATRS PROGRESS | 115 | Tas tiek parādīts, ja darbība pašlaik notiek. |
KLIKŠĶIS | 116 | Tas tiek parādīts novecojušā faila rokturim. |
EUCLEAN | 117 | Tas tiek parādīts, ja struktūrai nepieciešama tīrīšana. |
VIENOTA | 118 | Tas tiek rādīts nevis XENIX tipa failam. |
PIEVIENOT | 119 | Tas tiek parādīts, ja nav pieejami XENIX semafori. |
EISNAM | 120 | Tas tiek parādīts, ja ir nosaukta tipa fails. |
EREMOTIO | 121 | Tas tiek parādīts attālās ievades/izvades kļūdas gadījumā. |
EDQUOT | 122 | Tas tiek parādīts, ja diska kvota ir pārsniegta. |
ENOMEDIUM | 123 | Tas tiek parādīts, ja nav atrasta datu nesēja. |
EMEDIUMTYPE | 124 | Tas tiek parādīts, ja ir nepareizs datu nesēja veids. |
ATCELTS | 125 | Tas tiek parādīts, ja darbība ir atcelta. |
ENOKEY | 126 | Tas tiek parādīts, ja vajadzīgā atslēga nav pieejama. |
EKEY BEIDZIES | 127 | Tas tiek parādīts, ja atslēgas derīguma termiņš ir beidzies. |
EKEYREVOKED | 128 | Tas tiek parādīts, ja atslēga ir atsaukta. |
EKEY ATRAIDĀTS | 129 | Tas tiek parādīts, ja serviss ir noraidījis atslēgu. |
EOWNERDEAD | 130 | Tas tiek parādīts, ja īpašnieks ir miris. |
NAV ATGRIEŠAMS | 131 | Tas tiek parādīts, ja stāvoklis nav atjaunojams. |
ERFKILL | 132 | Tas tiek parādīts, ja darbība nav iespējama RF-kill dēļ. |
EHWPOISON | 133 | Tas tiek parādīts, ja atmiņas lapā ir aparatūras kļūda. |