Linux hata kodları, bir program çalışırken veya kullanırken sistemde bir hata oluşması durumunda görüntülenen kodlardır. Hatalar, hata kodları yardımıyla tanınabilir. Hata kodları hatanın kaynağını belirlememize yardımcı olur.
Eğer Linux sistem üzerinde çalışıyorsak hatalarla karşılaşabileceğimiz aşikardır. Bazı hatalar küçük olabilir ve programın kesintiye uğramasına neden olmayabilir. Ancak bir sistemin veya programın yanıt vermemeye başlamasına neden olabilecek bazı hatalar olabilir. Bu hatalar veri kaybına yol açabilir veya programın tamamlanmasını engelleyebilir. Çoğunlukla hatalar kod veya mesaj şeklinde görüntülenir.
Bu bölümde C programlamadaki hataları ve olası hataların listesini göreceğiz. Linux sistem.
C programlamada Linux Hataları
Yetenekli bir programcı hatalarla nasıl başa çıkacağını bilmelidir. C programlama dili hata yönetimi için doğrudan destek sağlamaz. Hatanın kaynağını tespit edip, onunla mücadele etmeliyiz. C dilinde, dönüş değerleri başarısızlığı veya başarıyı gösterir. C programındaki bir fonksiyon başarısız olursa hatayı buna göre ele almalıyız; aksi takdirde hataları bir günlük dosyasına en son kaydeder.
C programlarını çalıştırırken 'Hata no: 17' gibi hata numaraları ile karşılaşabiliriz. Burada 17 no'lu hata dosyanın zaten mevcut olduğu anlamına gelir. Her hata numarasının bir anlamı vardır.
C dili bir değişkeni destekler 'hatahayır .' Bu hata numarası değişkenini kullanarak, onu doğru bir şekilde ele almak için bazı hata işleme fonksiyonlarını kullanabiliriz.
Harici değişken hata numarasını kullanmak için bir başlık dosyası eklemeliyiz 'hata.h' Başlık dosyası 'errno' değişkenini tanımlamak için kullanılır. errno değişkeni, hata oluşumunda sistem çağrıları ve kütüphane işlevleri tarafından ayarlanır. İki önemli işlevi vardır C programlama dili hatalarla başa çıkmak için; korku Ve hata . perror işlevi hata açıklamasını yazdırmak için kullanılır ve serror işlevi, hata kodunu içeren bir dize döndürür.
Hata kodlarının listesini errno kullanarak görüntüleyelim.
Linux hatası
errno yardımcı programı, errno kodlarını, makro adlarını ve ilgili açıklamaları aramak için kullanılır. Örneğin bir Linux sisteminde ENOENT sağlarsak kod 2 ve açıklamayı gösterecektir. ' Böyle bir dosya ya da dizin yok .' Eğer 2 kodunu verirsek, o zaman gösterecektir. ENOENT ve açıklaması .
Eğer makinemizde errno yardımcı programı kurulu değilse hatayı aşağıdaki gibi gösterecektir:
Yüklemek için aşağıdaki komutu yürütün:
sudo apt install moreutils
Yukarıdaki komutu çalıştırarak makinemize errno yardımcı programını içeren moreutils paketi kurulur.
Hata Kodları Listesini Görüntüle
Hata kodlarının listesini görüntülemek için komutu aşağıdaki şekilde yürütün:
errno -l
Yukarıdaki komut RedHat'ın hata kodlarının listesini görüntüleyecektir. Aşağıdaki çıktıyı göz önünde bulundurun:
Bir hata numarasının bilgilerini görüntüleme
Belirli bir hata numarasının bilgilerini görüntülemek için komutu aşağıdaki şekilde yürütün:
errno 2
Yukarıdaki komut 2 numaralı hatanın açıklamasını görüntüleyecektir. Aşağıdaki çıktıyı göz önünde bulundurun:
Bir hata adının bilgilerini görüntüleme
Belirli bir hata adının bilgilerini görüntülemek için errno komutunu ve ardından hata adını yürütün. Örneğin, bir hata adının bilgisini görüntülemek için 'ESRCH ' komutunu şu şekilde yürütün:
errno ESRCH
Yukarıdaki komut, belirtilen hata adı hakkındaki bilgileri görüntüleyecektir. Aşağıdaki çıktıyı göz önünde bulundurun:
Dizeleri kullanarak hatayı görüntüleme
Açıklamadaki bir dizeyi kullanarak bir hata açıklamasını görüntülemek için komutu aşağıdaki gibi yürütün:
errno -s permission
Yukarıdaki komut, açıklaması dize iznini içeren hataları görüntüleyecektir. Aşağıdaki çıktıyı göz önünde bulundurun:
Linux sistem hatalarının listesi
Aşağıda Linux sistemindeki olası hataların kısmi bir listesi bulunmaktadır:
Hata kodu | hata numarası | Tanım |
---|---|---|
Üst | 1 | İşleme izin verilmiyorsa görüntülenir. |
ENOENT | 2 | Böyle bir dosya veya dizin mevcut değilse görüntülenir. |
ESRCH | 3 | Böyle bir işlem mevcut değilse görüntülenir. |
EINTR | 4 | Kesintiye uğrayan sistem çağrısı için görüntülenir |
EIO | 5 | Giriş/çıkış hatası için görüntülenir. |
ENXIO | 6 | Böyle bir cihaz veya adres mevcut değilse görüntülenir. |
E2BIG | 7 | Argüman listesi çok uzunsa görüntülenir. |
ENOEXEC | 8 | Exec format hatası varsa görüntülenir |
EBADF | 9 | Kötü dosya tanımlayıcı durumunda görüntülenir. |
ÇOCUK | 10 | Alt süreç mevcut değilse görüntülenir. |
YENİDEN | on bir | Kaynak geçici olarak kullanılamıyorsa görüntülenir. |
ENOME | 12 | Sistem belleği ayıramazsa görüntülenir. |
ERİŞİMLER | 13 | İzin reddedilirse görüntülenir. |
EFAULT | 14 | Kötü bir adres varsa görüntülenir. |
ENOTBLK | on beş | Cihazı bloke etmek gerekiyorsa görüntülenir. |
MEŞGUL | 16 | Cihaz veya kaynak meşgulse görüntülenir. |
MEVCUT | 17 | Dosya zaten mevcutsa görüntülenir. |
EXDEV | 18 | Geçersiz cihazlar arası bağlantı varsa görüntülenir. |
ENODEV | 19 | Böyle bir cihaz yoksa görüntülenir. |
ENOTDIR | yirmi | Bir dizin yoksa görüntülenir. |
EİSDİR | yirmi bir | Bir dizin varsa görüntülenir. |
TEK SEÇİM | 22 | Geçersiz bir argüman varsa görüntülenir. |
GİYMEK | 23 | Sistemde çok fazla açık dosya varsa görüntülenir. |
ÖLÜ | 24 | Çok fazla açık dosya varsa görüntülenir. |
ENOTTY | 25 | Cihaz için uygun olmayan bir ioctl varsa görüntülenir. |
ETXTBSY | 26 | Metin dosyası meşgulse görüntülenir. |
EFBIG | 27 | Dosya çok büyükse görüntülenir. |
ENOSPC | 28 | Cihazda yer kalmamışsa görüntülenir. |
ESPİP | 29 | Yasadışı arama durumunda görüntülenir. |
EROFS | 30 | Salt okunur dosya sistemi durumunda görüntülenir. |
EMLINK | 31 | Çok fazla bağlantı varsa görüntülenir. |
EPIPE | 32 | Borunun kırılması durumunda görüntülenir. |
EDOM | 33 | Sayısal argüman etki alanı dışındaysa görüntülenir. |
RANGE | 3. 4 | Sayısal sonuç aralık dışındaysa görüntülenir. |
EDEADLK | 35 | Kaynak kilitlenmesinden kaçınılırsa görüntülenir. |
ENAMETOOLONG | 36 | Dosya adı çok uzunsa görüntülenir. |
ENOLCK | 37 | Hiçbir kilit mevcut değilse görüntülenir. |
ENOSİS | 38 | Fonksiyon uygulanmadıysa görüntülenir. |
ENOTEMPTİ | 39 | Dizin boş değilse görüntülenir. |
ELOOP | 40 | Çok fazla düzeyde sembolik bağlantı varsa görüntülenir. |
ENOMSG | 42 | İstenilen türde bir mesaj yoksa görüntülenir. |
EIDRM | 43 | Tanımlayıcı kaldırılırsa görüntülenir. |
ECHRNG | 44 | Kanal numarası aralık dışındaysa görüntülenir. |
EL2NSYNC | Dört beş | Seviye 2 senkronize edilmemişse görüntülenir. |
EL3HLT | 46 | Seviye 3 durdurulursa görüntülenir. |
EL3RST | 47 | Seviye 3 sıfırlanırsa görüntülenir. |
ELNRNG | 48 | Bağlantı numarası aralık dışındaysa görüntülenir. |
EUNATCH | 49 | Protokol sürücüsü takılı değilse görüntülenir. |
ENOCSI | elli | Mevcut bir CSI yapısı yoksa görüntülenir. |
EL2HLT | 51 | Seviye 2 durdurulursa görüntülenir. |
OLMUŞTUR | 52 | Geçersiz takas durumunda görüntülenir. |
EBADR | 53 | Geçersiz istek tanımlayıcısı durumunda görüntülenir. |
DOLU | 54 | Takas dolu ise görüntülenir. |
ENOANO | 55 | Anot yok durumunda görüntülenir. |
EBADRQC | 56 | Geçersiz istek kodu için görüntülenir. |
EBADSLT | 57 | Geçersiz slot için görüntülenir. |
EBFONT | 59 | Kötü yazı tipi dosyası formatı varsa görüntülenir. |
TEK TARAFLI | 60 | Cihaz bir akış değilse görüntülenir. |
ENODATA | 61 | Mevcut veri yoksa görüntülenir. |
EZAMAN | 62 | Zamanlayıcının süresinin dolması durumunda görüntülenir. |
ENOSR | 63 | Akış kaynaklarının tükenmesi durumunda görüntülenir. |
ENONET | 64 | Makine ağda değilse görüntülenir. |
ENOPKG | 65 | Paket kurulu değilse görüntülenir. |
EREMOTE | 66 | Nesne uzaksa görüntülenir. |
ENOLİNK | 67 | Bağlantının kopması durumunda görüntülenir. |
EADV | 68 | Reklam hatası nedeniyle görüntülenir. |
ESRMNT | 69 | Srmount hatası için görüntülenir. |
ECOMM | 70 | Gönderimde iletişim hatası varsa görüntülenir. |
EPROTO | 71 | Protokol hatası için görüntülenir. |
EMULTİHOP | 72 | Multihop denemesi için görüntülenir. |
EDOTDOT | 73 | RFS'ye özgü hata için görüntülenir. |
EBADMSG | 74 | Kötü mesaj için görüntülenir. |
TAŞMA | 75 | Değerin tanımlanan veri tipi için çok büyük olması durumunda görüntülenir. |
ENOTUNIQ | 76 | Adın ağda benzersiz olmaması durumunda görüntülenir. |
EBADFD | 77 | Dosya tanımlayıcının kötü durumda olması durumunda görüntülenir. |
EREMCHG | 78 | Uzak adres değiştirilirse görüntülenir. |
ELIBACC | 79 | Gerekli bir paylaşılan kitaplığa erişemezsek görüntülenir. |
ELİBBAD | 80 | Bozuk bir paylaşılan kitaplığa erişilmesi durumunda görüntülenir. |
ELIBSCN | 81 | A.out dosyasında .lib bölümü bozuksa görüntülenir. |
ELIBMAX | 82 | Çok fazla paylaşılan kütüphaneye bağlanmaya çalışıyorsak görüntülenir. |
ELIBEXEC | 83 | Paylaşılan bir kütüphaneyi doğrudan çalıştıramazsak görüntülenir. |
EILSEQ | 84 | Geçersiz veya eksik çok baytlı veya geniş karakter için görüntülenir |
ERESTART | 85 | Kesilen sistem çağrısının yeniden başlatılması gerektiğini bildirmek için görüntülenir. |
ESKİŞEHİR | 86 | Akış borusu hatası varsa görüntülenir. |
KULLANICILAR | 87 | Çok fazla kullanıcıya gösteriliyor. |
ENOTSOCK | 88 | Soketsiz işlemlerde soket çalışması için görüntülenir. |
EDESTADDRREQ | 89 | Hedef adresi gerekliyse görüntülenir. |
EMSGSBOYUTU | 90 | Mesaj çok uzunsa görüntülenir. |
EPROTOTİP | 91 | Protokol soket için yanlış türdeyse görüntülenir. |
ENOPROTOOPT | 92 | Protokol mevcut değilse görüntülenir. |
EPROTONOSDESTEK | 93 | Protokol desteklenmiyorsa görüntülenir. |
ESOKTNODESTEK | 94 | Soket tipi desteklenmiyorsa görüntülenir. |
EOPNOTSUPP | 95 | İşlem desteklenmiyorsa görüntülenir. |
EPFNODESTEK | 96 | Protokol ailesi desteklenmiyorsa görüntülenir. |
EAFNODESTEK | 97 | Adres ailesi protokol tarafından desteklenmiyorsa görüntülenir. |
EADDRİNUS | 98 | Adres zaten kullanımdaysa görüntülenir. |
EADDRNOTAVAIL | 99 | Sistem istenilen adresi atayamazsa görüntülenir. |
ENETDOWN | 100 | Ağ kapalıysa görüntülenir. |
ENETUNREACH | 101 | Ağa ulaşılamıyorsa görüntülenir. |
ENETRESET | 102 | Sıfırlama sırasında ağ bağlantısı kesilirse görüntülenir. |
ECONNABORTED | 103 | Yazılımın bağlantının iptal edilmesine neden olması durumunda görüntülenir. |
ECONNRESET | 104 | Bağlantı eş tarafından sıfırlanırsa görüntülenir. |
ENOBÜFLER | 105 | Kullanılabilir ara bellek alanı yoksa görüntülenir. |
ESKON | 106 | Aktarım uç noktası zaten bağlıysa görüntülenir. |
ENOTCONN | 107 | Aktarım uç noktası bağlı değilse görüntülenir. |
KAPATMA | 108 | Aktarım uç noktası kapatıldıktan sonra sistem gönderemezse görüntülenir. |
ETOOMANYREFS | 109 | Çok fazla referans varsa görüntülenir: birleştirilemez. |
ETIMEDOUT | 110 | Bağlantının zaman aşımına uğraması durumunda görüntülenir. |
E-BAĞLANTI REDDEDİLDİ | 111 | Bağlantı reddedilirse görüntülenir. |
EHOSTDOWN | 112 | Ana Bilgisayar kapalıysa görüntülenir. |
EHOSTUNREACH | 113 | Ana makineye giden yol yoksa görüntülenir. |
EZATEN | 114 | İşlem zaten devam ediyorsa görüntülenir. |
HER İLERLEME | 115 | İşlem şu anda devam ediyorsa görüntülenir. |
TIKLAMAK | 116 | Eski dosya tanıtıcısı için görüntülenir. |
EUCLEAN | 117 | Yapının temizlenmesi gerekiyorsa görüntülenir. |
ÜNİFORMA | 118 | XENIX adlı bir tür dosyası için görüntülenmez. |
KAYIT OL | 119 | Kullanılabilir XENIX semaforu yoksa görüntülenir. |
EİSNAM | 120 | Adlandırılmış bir tür dosyası varsa görüntülenir. |
EREMOTİO | 121 | Uzak G/Ç hatası için görüntülenir. |
EDQUOT | 122 | Disk kotası aşılırsa görüntülenir. |
ENOMEDYUM | 123 | Ortam bulunamadığında görüntülenir. |
EMEDİUM TİPİ | 124 | Yanlış ortam türü varsa görüntülenir. |
İPTAL EDİLDİ | 125 | İşlem iptal edilirse görüntülenir. |
ENOKİ | 126 | Gerekli anahtar mevcut değilse görüntülenir. |
EKEY'in süresi dolmuş | 127 | Anahtarın süresi dolmuşsa görüntülenir. |
EKEYİPTAL EDİLDİ | 128 | Anahtarın iptal edilmesi durumunda görüntülenir. |
EKEY REDDEDİLDİ | 129 | Anahtarın servis tarafından reddedilmesi durumunda görüntülenir. |
E SAHİBİ ÖLÜ | 130 | Sahibi ölmüşse görüntülenir. |
ENOTR KURTARILABİLİR | 131 | Kurtarılabilir bir durum olmadığında görüntülenir. |
ERFKILL | 132 | RF-öldürme nedeniyle işlem mümkün değilse görüntülenir. |
EHWZEHİR | 133 | Bellek sayfasında donanım hatası varsa görüntülenir. |