logo

Kody błędów Linuksa

Kody błędów systemu Linux to te kody, które są wyświetlane, jeśli w systemie wystąpi błąd podczas pracy lub używania programu. Błędy można rozpoznać za pomocą kodów błędów. Kody błędów pomagają nam w rozpoznaniu źródła błędu.

Jeśli pracujemy na systemie Linux, oczywistym jest, że możemy napotkać błędy. Niektóre błędy mogą być drobne i nie mogą prowadzić do przerwania programu. Mogą jednak wystąpić pewne błędy, które mogą spowodować, że system lub program przestanie odpowiadać. Błędy te mogą prowadzić do utraty danych lub uniemożliwić zakończenie programu. Najczęściej błędy są wyświetlane w postaci kodów lub komunikatów.

W tej sekcji zobaczymy błędy w programowaniu w C oraz listę możliwych błędów w programie Linuksa system.

Błędy Linuksa w programowaniu C

Doświadczony programista powinien wiedzieć, jak radzić sobie z błędami. Język programowania C nie zapewnia bezpośredniego wsparcia dla obsługi błędów. Musimy wykryć źródło błędu i sobie z nim poradzić. W języku C zwracane wartości wskazują niepowodzenie lub sukces. Jeśli funkcja w programie C nie powiedzie się, musimy odpowiednio zareagować na błąd; w przeciwnym razie zapisuje błędy jako ostatnie w pliku dziennika.

Podczas wykonywania programów w języku C możemy zauważyć pewne numery błędów, takie jak „Błąd nr to: 17”. Tutaj błąd nr 17 oznacza, że ​​plik już istnieje. Każdy numer błędu ma jakieś znaczenie.

Język C obsługuje zmienne „błąd nr .' Używając tej zmiennej numeru błędu, możemy użyć niektórych funkcji obsługi błędów, aby poprawnie sobie z nimi poradzić.

Aby użyć numeru błędu zmiennej zewnętrznej, musimy dołączyć plik nagłówkowy „errno.h.” Plik nagłówkowy służy do zdefiniowania zmiennej „errno”. Zmienna errno jest ustawiana przez wywołania systemowe i funkcje biblioteczne w przypadku wystąpienia błędu. Istnieją dwie ważne funkcje w Język programowania C radzić sobie z błędami; błąd I strerror . Funkcja perror służy do wydrukowania opisu błędu, a funkcja sterror zwraca ciąg znaków zawierający kod błędu.

Wyświetlmy listę kodów błędów za pomocą errno.

Linux chyba

Narzędzie errno służy do wyszukiwania kodów errno, nazw makr i odpowiadających im opisów. Na przykład, jeśli udostępnimy ENOENT w systemie Linux, wyświetli się kod 2 i opis ' Nie ma takiego pliku ani katalogu .' Jeśli podamy kod 2, wyświetli się ENOENT i jego opis .

Jeśli na naszym komputerze nie jest zainstalowane narzędzie errno, wyświetli ono błąd w następujący sposób:

Kody błędów Linuksa

Aby go zainstalować, wykonaj poniższe polecenie:

 sudo apt install moreutils 

Wykonując powyższe polecenie, na naszym komputerze zostanie zainstalowany pakiet moreutils zawierający narzędzie errno.

Kody błędów Linuksa

Wyświetl listę kodów błędów

Aby wyświetlić listę kodów błędów, wykonaj polecenie w następujący sposób:

 errno -l 

Powyższe polecenie wyświetli listę kodów błędów RedHata. Rozważ poniższe dane wyjściowe:

Kody błędów Linuksa

Wyświetla informację o numerze błędu

Aby wyświetlić informację o konkretnym numerze błędu należy wykonać polecenie w następujący sposób:

 errno 2 

Powyższe polecenie wyświetli opis błędu nr 2. Rozważ poniższe dane wyjściowe:

Kody błędów Linuksa

Wyświetla informacje o nazwie błędu

Aby wyświetlić informacje o konkretnej nazwie błędu, wykonaj polecenie errno, po którym należy podać nazwę błędu. Na przykład, aby wyświetlić informację o nazwie błędu „ESRCH ”, wykonaj polecenie w następujący sposób:

 errno ESRCH 

Powyższe polecenie wyświetli informację o podanej nazwie błędu. Rozważ poniższe dane wyjściowe:

Kody błędów Linuksa

Wyświetl błąd za pomocą ciągów

Aby wyświetlić opis błędu przy użyciu ciągu znaków z opisu, wykonaj polecenie w następujący sposób:

 errno -s permission 

Powyższe polecenie wyświetli błędy, których opis zawiera uprawnienia string. Rozważ poniższe dane wyjściowe:

Kody błędów Linuksa

Lista błędów systemu Linux

Poniżej znajduje się częściowa lista możliwych błędów systemu Linux:

Kod błędu błąd nr Opis
Górny 1 Jest wyświetlany, jeśli operacja jest niedozwolona.
ENOENT 2 Jest wyświetlany, jeśli nie istnieje taki plik lub katalog.
ESRCH 3 Jest wyświetlany, jeśli taki proces nie istnieje.
EINTR 4 Jest wyświetlany w przypadku przerwanego wywołania systemowego
EIO 5 Jest wyświetlany w przypadku błędu wejścia/wyjścia.
ENXIO 6 Wyświetla się, jeśli nie ma takiego urządzenia lub adresu.
E2BIG 7 Jest wyświetlany, jeśli lista argumentów jest zbyt długa.
ENOEXEC 8 Jest wyświetlany, jeśli wystąpił błąd formatu exec
EBADF 9 Jest wyświetlany w przypadku złego deskryptora pliku.
DZIECKO 10 Jest wyświetlany, jeśli nie istnieje żaden proces potomny.
PONOWNIE jedenaście Jest wyświetlany, jeśli zasób jest chwilowo niedostępny.
ENOMEM 12 Jest wyświetlany, jeśli system nie może przydzielić pamięci.
DOJAZD 13 Jest wyświetlany w przypadku odmowy pozwolenia.
BŁĄD 14 Jest wyświetlany, jeśli istnieje zły adres.
ENOTBLK piętnaście Jest wyświetlany, jeśli wymagane jest Zablokuj urządzenie.
ZAJĘTY 16 Jest wyświetlany, jeśli urządzenie lub zasób jest zajęty.
ISTNIEJE 17 Jest wyświetlany, jeśli plik już istnieje.
EXDEW 18 Jest wyświetlany, jeśli istnieje nieprawidłowe połączenie między urządzeniami.
ENODEW 19 Wyświetla się, jeśli nie ma takiego urządzenia.
ENOTDIR 20 Jest wyświetlany, jeśli nie ma katalogu.
EISDIR dwadzieścia jeden Jest wyświetlany, jeśli istnieje katalog.
JEDEN WYBÓR 22 Jest wyświetlany, jeśli istnieje nieprawidłowy argument.
WŁĄCZAĆ 23 Jest wyświetlany, jeśli w systemie jest zbyt wiele otwartych plików.
MARTWY 24 Jest wyświetlany, jeśli jest zbyt wiele otwartych plików.
ENOTTY 25 Jest wyświetlany, jeśli dla urządzenia występuje nieodpowiedni ioctl.
ETXTBSY 26 Jest wyświetlany, jeśli plik tekstowy jest zajęty.
EFBIG 27 Jest wyświetlany, jeśli plik jest za duży.
ENOSPC 28 Jest wyświetlany, jeśli na urządzeniu nie ma wolnego miejsca.
ESPIPE 29 Jest wyświetlany w przypadku nielegalnego wyszukiwania.
EROFS 30 Jest wyświetlany w przypadku systemu plików tylko do odczytu.
EMLINK 31 Jest wyświetlany, jeśli jest zbyt wiele linków.
EPIPA 32 Wyświetla się w przypadku pęknięcia rury.
EDOM 33 Jest wyświetlany, jeśli argument numeryczny jest poza dziedziną.
ERANGE 3. 4 Jest wyświetlany, jeśli wynik numeryczny jest poza zakresem.
EDEADLK 35 Jest wyświetlany, jeśli uniknięto zakleszczenia zasobów.
ENAZWATOOLONG 36 Jest wyświetlany, jeśli nazwa pliku jest za długa.
ENOLCK 37 Jest wyświetlany, jeśli nie są dostępne żadne blokady.
ENOSYS 38 Jest wyświetlany, jeśli funkcja nie jest zaimplementowana.
ENOTEMPCJA 39 Jest wyświetlany, jeśli katalog nie jest pusty.
ELOOP 40 Jest wyświetlany, jeśli istnieje zbyt wiele poziomów dowiązań symbolicznych.
ENOMSG 42 Jest wyświetlany, jeśli nie ma komunikatu żądanego typu.
EIDRM 43 Jest wyświetlany, jeśli identyfikator został usunięty.
EKHRNG 44 Jest wyświetlany, jeśli numer kanału jest poza zakresem.
EL2NSYNC Cztery pięć Jest wyświetlany, jeśli poziom 2 nie jest zsynchronizowany.
EL3HLT 46 Jest wyświetlany, jeśli poziom 3 jest zatrzymany.
EL3RST 47 Jest wyświetlany, jeśli poziom 3 został zresetowany.
ELNRNG 48 Jest wyświetlany, jeśli numer łącza jest poza zakresem.
EUNATCH 49 Jest wyświetlany, jeśli sterownik protokołu nie jest podłączony.
ENOCSI pięćdziesiąt Jest wyświetlany, jeśli nie ma dostępnej struktury CSI.
EL2HLT 51 Jest wyświetlany, jeśli poziom 2 jest zatrzymany.
BYŁO 52 Wyświetla się w przypadku nieprawidłowej wymiany.
EBADR 53 Jest wyświetlany w przypadku nieprawidłowego deskryptora żądania.
WYPEŁNIONY 54 Jest wyświetlany, jeśli wymiana jest pełna.
ENOAN 55 Jest wyświetlany w przypadku braku anody.
EBADRQC 56 Jest wyświetlany w przypadku nieprawidłowego kodu żądania.
EBADSLT 57 Jest wyświetlany w przypadku nieprawidłowego gniazda.
EBFONT 59 Jest wyświetlany, jeśli plik czcionki ma zły format.
JEDNOSTRONNY 60 Jest wyświetlany, jeśli urządzenie nie jest strumieniem.
ENODATA 61 Jest wyświetlany, jeśli nie ma dostępnych danych.
CZAS 62 Jest wyświetlany w przypadku wygaśnięcia timera.
ENOSR 63 Jest wyświetlany w przypadku wyczerpania się zasobów strumieniowych.
ENONET 64 Jest wyświetlany, jeśli urządzenie nie jest w sieci.
ENOPKG 65 Jest wyświetlany, jeśli pakiet nie jest zainstalowany.
EREMOT 66 Jest wyświetlany, jeśli obiekt jest zdalny.
ENOLINK 67 Jest wyświetlany, jeśli łącze zostało zerwane.
EADV 68 Jest wyświetlany w przypadku błędu reklamowania.
ESRMNT 69 Jest wyświetlany w przypadku błędu Srmount.
ECOMM 70 Jest wyświetlany, jeśli podczas wysyłania wystąpił błąd komunikacji.
EPROTO 71 Jest wyświetlany w przypadku błędu protokołu.
EMULTIHOP 72 Jest wyświetlany w przypadku próby Multihop.
EDOTDOT 73 Jest wyświetlany w przypadku błędu specyficznego dla RFS.
EBADMSG 74 Jest wyświetlany w przypadku nieprawidłowego komunikatu.
PRZEPŁYW 75 Jest wyświetlany, jeśli wartość jest zbyt duża dla określonego typu danych.
ENOTUNIQ 76 Jest wyświetlany, jeśli nazwa nie jest unikalna w sieci.
EBADFD 77 Jest wyświetlany, jeśli deskryptor pliku jest w złym stanie.
EREMCHG 78 Jest wyświetlany, jeśli adres zdalny został zmieniony.
ELIBACC 79 Jest wyświetlany, jeśli nie możemy uzyskać dostępu do potrzebnej biblioteki współdzielonej.
ELIBBAD 80 Jest wyświetlany w przypadku dostępu do uszkodzonej biblioteki współdzielonej.
ELIBSCN 81 Jest wyświetlany, jeśli sekcja .lib w pliku a.out jest uszkodzona.
ELIBMAX 82 Jest wyświetlany, jeśli próbujemy połączyć zbyt wiele bibliotek współdzielonych.
ELIBEXEC 83 Jest wyświetlany, jeśli nie możemy bezpośrednio uruchomić biblioteki współdzielonej.
EILSEQ 84 Jest wyświetlany w przypadku nieprawidłowego lub niekompletnego znaku wielobajtowego lub szerokiego
ERESTART 85 Wyświetlany jest w celu poinformowania o konieczności ponownego uruchomienia przerwanej wywołania systemowego.
RURA ESTROJOWA 86 Jest wyświetlany, jeśli występuje błąd potoku strumieniowego.
EUSERY 87 Jest wyświetlany zbyt wielu użytkownikom.
ENOTSOCK 88 Jest wyświetlany w przypadku pracy z gniazdem na komputerze innym niż gniazdo.
EDESTADDRREQ 89 Jest wyświetlany, jeśli wymagany jest adres docelowy.
ROZMIAR EMSG 90 Jest wyświetlany, jeśli wiadomość jest za długa.
EPROTOTYP 91 Jest wyświetlany, jeśli typ protokołu jest nieprawidłowy dla gniazda.
ENOPROTOOPT 92 Jest wyświetlany, jeśli protokół nie jest dostępny.
WSPARCIE EPROTONOS 93 Jest wyświetlany, jeśli protokół nie jest obsługiwany.
WSPARCIE ESOCKTN 94 Jest wyświetlany, jeśli typ gniazda nie jest obsługiwany.
EOPNOTSUPP 95 Jest wyświetlany, jeśli operacja nie jest obsługiwana.
WSPARCIE EPFNOS 96 Jest wyświetlany, jeśli rodzina protokołów nie jest obsługiwana.
WSPARCIE EAFNO 97 Jest wyświetlany, jeśli rodzina adresów nie jest obsługiwana przez protokół.
EADDRINUS 98 Jest wyświetlany, jeśli adres jest już używany.
EADDRNOTAVAIL 99 Wyświetla się, jeśli system nie może przypisać żądanego adresu.
ENETDÓŁ 100 Jest wyświetlany, jeśli sieć nie działa.
ENETUNREACH 101 Jest wyświetlany, jeśli sieć jest nieosiągalna.
ENETRESET 102 Jest wyświetlany, jeśli sieć zerwała połączenie podczas resetowania.
EKONNABOROWANY 103 Jest wyświetlany, jeśli oprogramowanie spowodowało przerwanie połączenia.
ECONNRESET 104 Jest wyświetlany, jeśli połączenie zostanie zresetowane przez peera.
ENOBUFS 105 Jest wyświetlany, jeśli nie ma dostępnego miejsca w buforze.
ESKON 106 Jest wyświetlany, jeśli punkt końcowy transportu jest już podłączony.
ENOTCONN 107 Jest wyświetlany, jeśli punkt końcowy transportu nie jest podłączony.
WYŁĄCZENIE 108 Jest wyświetlany, jeśli system nie może wysyłać po zamknięciu punktu końcowego transportu.
ETOOMANYREFS 109 Jest wyświetlany, jeśli jest zbyt wiele odniesień: nie można połączyć.
ETIMEDOUT 110 Jest wyświetlany, jeśli upłynął limit czasu połączenia.
ODMÓWIONY 111 Jest wyświetlany w przypadku odmowy połączenia.
EHOSTDOWN 112 Jest wyświetlany, jeśli host nie działa.
EHOSTUNREACH 113 Jest wyświetlany, jeśli nie ma trasy do hosta.
JUŻ 114 Jest wyświetlany, jeśli operacja jest już w toku.
KAŻDY POSTĘP 115 Jest wyświetlany, jeśli operacja jest w toku.
KLIKNIJ 116 Jest wyświetlany dla uchwytu nieaktualnego pliku.
EUCZYSTOŚĆ 117 Jest wyświetlany, jeśli konstrukcja wymaga czyszczenia.
MUNDUR 118 Jest wyświetlany dla pliku nie o nazwie typu XENIX.
PRZYJDŹ 119 Jest wyświetlany, jeśli nie ma dostępnych semaforów XENIX.
EISNAM 120 Jest wyświetlany, jeśli istnieje plik o nazwanym typie.
EREMOCJA 121 Jest wyświetlany w przypadku błędu zdalnego wejścia/wyjścia.
EDCYT 122 Jest wyświetlany w przypadku przekroczenia limitu miejsca na dysku.
ENOMEDIUM 123 Jest wyświetlany, jeśli nie znaleziono nośnika.
TYP ŚREDNI 124 Jest wyświetlany w przypadku nieprawidłowego typu nośnika.
ANULOWANY 125 Jest wyświetlany, jeśli operacja została anulowana.
ENOKEY 126 Jest wyświetlany, jeśli wymagany klawisz nie jest dostępny.
EKEY wygasł 127 Jest wyświetlany, jeśli ważność klucza wygasła.
EKEYODWOŁANY 128 Jest wyświetlany, jeśli klucz został unieważniony.
EKEYODRZUCONY 129 Wyświetla się, jeśli klucz został odrzucony przez serwis.
EWŁAŚCICIEL NIE żyje 130 Jest wyświetlany, jeśli właściciel zmarł.
ENOODZYSKIWALNE 131 Jest wyświetlany, gdy nie można odzyskać stanu.
ERFKILL 132 Jest wyświetlany, jeśli operacja nie jest możliwa ze względu na funkcję RF-kill.
TRUCIZNA 133 Jest wyświetlany, jeśli strona pamięci zawiera błąd sprzętowy.