logo

리눅스 오류 코드

Linux 오류 코드는 작업이나 프로그램 사용 중에 시스템에 오류가 발생할 경우 표시되는 코드입니다. 오류 코드를 통해 오류를 인식할 수 있습니다. 오류 코드는 오류의 원인을 인식하는 데 도움이 됩니다.

Linux 시스템에서 작업하는 경우 오류가 발생할 수 있다는 것은 명백합니다. 일부 오류는 사소할 수 있으며 프로그램이 중단되지 않을 수도 있습니다. 그러나 시스템이나 프로그램의 응답을 중지시킬 수 있는 일부 오류가 있을 수 있습니다. 이러한 오류로 인해 데이터가 손실되거나 프로그램이 완료되지 않을 수 있습니다. 대부분의 오류는 코드나 메시지 형태로 표시됩니다.

이 섹션에서는 C 프로그래밍의 오류와 가능한 오류 목록을 살펴보겠습니다. 리눅스 체계.

C 프로그래밍의 Linux 오류

숙련된 프로그래머는 오류를 처리하는 방법을 알아야 합니다. C 프로그래밍 언어는 오류 처리를 직접 지원하지 않습니다. 우리는 오류의 원인을 찾아 처리해야 합니다. C 언어에서는 반환 값에 실패 또는 성공이 표시됩니다. C 프로그램의 함수가 실패하면 그에 따라 오류를 처리해야 합니다. 그렇지 않으면 로그 파일의 마지막 오류를 기록합니다.

C 프로그램을 실행하는 동안 '오류 번호: 17'과 같은 일부 오류 번호를 발견할 수 있습니다. 여기서 오류 번호 17은 파일이 이미 존재함을 의미합니다. 모든 오류 번호에는 의미가 있습니다.

C언어는 변수를 지원합니다. '오류 없음 .' 이 오류 번호 변수를 사용하면 일부 오류 처리 기능을 사용하여 이를 올바르게 처리할 수 있습니다.

외부 변수 오류 번호를 사용하려면 헤더 파일을 포함해야 합니다. 'errno.h.' 헤더 파일은 'errno' 변수를 정의하는 데 사용됩니다. errno 변수는 오류 발생 시 시스템 호출 및 라이브러리 함수에 의해 설정됩니다. 에는 두 가지 중요한 기능이 있습니다. C 프로그래밍 언어 오류를 처리하기 위해; 테러 그리고 테러 . perror 함수는 오류 설명을 인쇄하는 데 사용되며 sterror 함수는 오류 코드가 있는 문자열을 반환합니다.

errno를 사용하여 오류 코드 목록을 표시해 보겠습니다.

리눅스 오류 번호

errno 유틸리티는 errno 코드, 매크로 이름 및 해당 설명을 찾는 데 사용됩니다. 예를 들어 Linux 시스템에서 ENOENT를 제공하면 코드 2와 설명이 표시됩니다. ' 해당 파일이나 디렉터리가 없습니다 .' 코드 2를 제공하면 다음이 표시됩니다. ENOENT 및 설명 .

errno 유틸리티가 컴퓨터에 설치되어 있지 않으면 다음과 같은 오류가 표시됩니다.

리눅스 오류 코드

설치하려면 아래 명령을 실행하십시오.

 sudo apt install moreutils 

위 명령을 실행하면 errno 유틸리티가 포함된 컴퓨터에 moreutils 패키지가 설치됩니다.

리눅스 오류 코드

오류 코드 목록 표시

오류 코드 목록을 표시하려면 다음과 같이 명령을 실행하십시오.

 errno -l 

위 명령은 RedHat의 오류 코드 목록을 표시합니다. 아래 출력을 고려하십시오.

리눅스 오류 코드

오류 번호 정보 표시

특정 오류 번호의 정보를 표시하려면 다음과 같이 명령을 실행하십시오.

 errno 2 

위 명령은 오류 번호 2에 대한 설명을 표시합니다. 아래 출력을 고려하십시오.

리눅스 오류 코드

오류 이름의 정보 표시

특정 오류 이름의 정보를 표시하려면 오류 이름 뒤에 errno 명령을 실행하십시오. 예를 들어 오류 이름의 정보를 표시하려면 '에스크 ,' 다음과 같이 명령을 실행합니다.

 errno ESRCH 

위 명령은 지정된 오류 이름에 대한 정보를 표시합니다. 아래 출력을 고려하십시오.

리눅스 오류 코드

문자열을 사용하여 오류 표시

설명의 문자열을 사용하여 오류 설명을 표시하려면 다음과 같이 명령을 실행하십시오.

 errno -s permission 

위 명령은 설명에 문자열 권한이 포함된 오류를 표시합니다. 아래 출력을 고려하십시오.

리눅스 오류 코드

Linux 시스템 오류 목록

다음은 Linux 시스템에서 발생할 수 있는 오류의 일부 목록입니다.

에러 코드 오류 아니요 설명
높은 1 조작이 허용되지 않는 경우 표시됩니다.
이노엔트 2 해당 파일이나 디렉터리가 존재하지 않는 경우 표시됩니다.
ESRCH 해당 프로세스가 존재하지 않는 경우 표시됩니다.
EINTR 4 중단된 시스템 호출의 경우 표시됩니다.
EIO 5 입출력 오류가 발생한 경우 표시됩니다.
엔시오 6 해당 장치가 없거나 주소가 존재하는 경우 표시됩니다.
이투빅 7 인수 목록이 너무 길면 표시됩니다.
에노젝 8 Exec 형식 오류가 있는 경우 표시됩니다.
EBADF 9 파일 설명자가 잘못된 경우 표시됩니다.
에차일드 10 하위 프로세스가 존재하지 않는 경우 표시됩니다.
다시 열하나 리소스를 일시적으로 사용할 수 없는 경우 표시됩니다.
ENOMEM 12 시스템이 메모리를 할당할 수 없는 경우에 표시됩니다.
EACCES 13 권한이 거부된 경우 표시됩니다.
실패 14 잘못된 주소가 있을 경우 표시됩니다.
ENOTBLK 열 다섯 블록 장치가 필요한 경우 표시됩니다.
바쁘다 16 장치나 리소스가 사용 중인 경우 표시됩니다.
존재한다 17 파일이 이미 존재하는 경우 표시됩니다.
EXDEV 18 잘못된 장치 간 링크가 있는 경우 표시됩니다.
ENODEV 19 해당 장치가 없을 경우 표시됩니다.
에노디르 이십 디렉터리가 없을 경우 표시됩니다.
에이스디르 이십 일 디렉터리가 있으면 표시됩니다.
단일 선택 22 잘못된 인수가 있는 경우 표시됩니다.
입다 23 시스템에 열려 있는 파일이 너무 많으면 표시됩니다.
죽은 24 열려 있는 파일이 너무 많으면 표시됩니다.
에노티 25 장치에 부적절한 ioctl이 있는 경우 표시됩니다.
ETXTBSY 26 텍스트 파일이 사용 중인 경우 표시됩니다.
EF빅 27 파일이 너무 큰 경우 표시됩니다.
ENOSPC 28 기기에 남은 공간이 없을 경우 표시됩니다.
ESPIPE 29 불법탐색시 표시됩니다.
에로프스 30 읽기 전용 파일 시스템인 경우 표시됩니다.
엠링크 31 링크가 너무 많으면 표시됩니다.
에피페 32 배관이 파손된 경우 표시됩니다.
에돔 33 수치인자가 영역을 벗어나면 표시됩니다.
에레인지 3. 4 수치 결과가 범위를 벗어나면 표시됩니다.
EDEADLK 35 리소스 교착상태를 피할 경우 표시됩니다.
에나멜툴롱 36 파일명이 너무 길 경우 표시됩니다.
에놀크 37 사용 가능한 잠금 장치가 없는 경우 표시됩니다.
이노시스 38 기능이 구현되지 않은 경우 표시됩니다.
ENOTEMPTY 39 디렉토리가 비어 있지 않으면 표시됩니다.
엘루프 40 심볼릭 링크의 레벨이 너무 많은 경우에 표시됩니다.
ENOMSG 42 원하는 종류의 메시지가 없을 경우 표시됩니다.
EIDRM 43 식별자가 제거된 경우 표시됩니다.
ECHRNG 44 채널번호가 범위를 벗어나면 표시됩니다.
EL2NSYNC 넷 다섯 레벨 2가 동기화되지 않은 경우 표시됩니다.
EL3HLT 46 레벨 3이 정지된 경우 표시됩니다.
EL3RST 47 레벨 3이 초기화된 경우 표시됩니다.
ELNRNG 48 링크번호가 범위를 벗어나면 표시됩니다.
유나치 49 프로토콜 드라이버가 연결되지 않은 경우 표시됩니다.
에녹시 오십 사용 가능한 CSI 구조가 없는 경우 표시됩니다.
EL2HLT 51 레벨 2가 정지된 경우 표시됩니다.
그랬다 52 교환이 유효하지 않은 경우 표시됩니다.
에바드르 53 요청 설명자가 유효하지 않은 경우 표시됩니다.
제외 54 교환이 가득 찼을 경우 표시됩니다.
ENOANO 55 양극이 없는 경우에 표시됩니다.
EBADRQC 56 요청 코드가 유효하지 않은 경우 표시됩니다.
EBADSLT 57 유효하지 않은 슬롯인 경우 표시됩니다.
EB폰트 59 잘못된 글꼴 파일 형식이 있는 경우 표시됩니다.
일방적 60 장치가 스트림이 아닌 경우 표시됩니다.
에노데이타 61 사용 가능한 데이터가 없는 경우 표시됩니다.
ETIME 62 타이머가 만료된 경우 표시됩니다.
ENOSR 63 스트림 자원이 부족한 경우에 표시됩니다.
이노넷 64 기기가 네트워크에 없는 경우 표시됩니다.
ENOPKG 65 패키지가 설치되지 않은 경우 표시됩니다.
EREMOTE 66 객체가 원격인 경우 표시됩니다.
이노링크 67 링크가 끊어진 경우 표시됩니다.
EADV 68 광고 오류인 경우 표시됩니다.
ESRMNT 69 Srmount 오류가 발생한 경우 표시됩니다.
전자상거래 70 송신 시 통신 오류가 있는 경우 표시됩니다.
에프로토 71 프로토콜 오류인 경우 표시됩니다.
멀티홉 72 멀티홉 시도에 대해 표시됩니다.
EDOTDOT 73 RFS 특정 오류에 대해 표시됩니다.
EBADMSG 74 잘못된 메시지인 경우 표시됩니다.
EOVERFLOW 75 정의된 데이터 타입에 비해 값이 너무 큰 경우 표시됩니다.
ENOTUNIQ 76 네트워크에서 이름이 고유하지 않은 경우 표시됩니다.
EBADFD 77 파일 설명자가 잘못된 상태인 경우 표시됩니다.
EREMCHG 78 원격 주소가 변경된 경우 표시됩니다.
엘리바CC 79 필요한 공유 라이브러리에 액세스할 수 없는 경우 표시됩니다.
엘리바드 80 손상된 공유 라이브러리에 접근한 경우 표시됩니다.
엘리브CN 81 a.out에 .lib 섹션이 손상된 경우 표시됩니다.
엘리맥스 82 너무 많은 공유 라이브러리에서 연결을 시도하는 경우 표시됩니다.
엘리벡 83 공유 라이브러리를 직접 실행할 수 없는 경우에 표시됩니다.
EILSEQ 84 유효하지 않거나 불완전한 멀티바이트 또는 와이드 문자에 대해 표시됩니다.
ERESTART 85 중단된 시스템 콜을 다시 시작해야 함을 알리기 위해 표시됩니다.
에스트라이프 86 스트림 파이프 오류가 있는 경우 표시됩니다.
유저 87 너무 많은 사용자에게 표시됩니다.
ENOTSOCK 88 비소켓에서 소켓 동작을 하는 경우에 표시됩니다.
EDESTADDRREQ 89 목적지 주소가 필요한 경우 표시됩니다.
EMSGSIZE 90 메시지가 너무 길면 표시됩니다.
프로토타입 91 소켓에 대한 프로토콜 유형이 잘못된 경우 표시됩니다.
이노프로투프트 92 프로토콜을 사용할 수 없는 경우 표시됩니다.
에프로토노스지원 93 프로토콜이 지원되지 않는 경우 표시됩니다.
ESOCKTNOS지원 94 소켓 유형이 지원되지 않는 경우 표시됩니다.
EOPNOTSUPP 95 해당 작업이 지원되지 않는 경우 표시됩니다.
EPFNOS지원 96 프로토콜 계열이 지원되지 않는 경우 표시됩니다.
EAFNO지원 97 해당 주소 계열이 프로토콜에서 지원되지 않는 경우 표시됩니다.
에드리누스 98 이미 사용 중인 주소인 경우 표시됩니다.
EADRNOTAVAIL 99 시스템이 요청한 주소를 할당할 수 없는 경우 표시됩니다.
ENETDOWN 100 네트워크가 다운된 경우 표시됩니다.
에네터치 101 네트워크에 연결할 수 없는 경우 표시됩니다.
에네트리셋 102 재설정 시 네트워크 연결이 끊어진 경우 표시됩니다.
에코나보티드 103 소프트웨어로 인해 연결이 중단된 경우 표시됩니다.
ECONNRESET 104 Peer에 의해 연결이 재설정된 경우 표시됩니다.
ENOBUFS 105 사용 가능한 버퍼 공간이 없을 경우 표시됩니다.
에스콘 106 전송 끝점이 이미 연결된 경우 표시됩니다.
ENOTCONN 107 전송 끝점이 연결되지 않은 경우 표시됩니다.
종료 108 전송 끝점 종료 후 시스템이 보낼 수 없는 경우 표시됩니다.
ETOOMANYREFS 109 참조가 너무 많을 경우 표시됩니다: 접속할 수 없습니다.
시간 초과 110 연결 시간이 초과된 경우 표시됩니다.
동의하지 않음 111 연결이 거부된 경우 표시됩니다.
EHOSTDOWN 112 호스트가 다운된 경우 표시됩니다.
EHOSTUNREACH 113 호스트로의 경로가 없을 경우 표시됩니다.
이미 114 이미 작업이 진행 중인 경우 표시됩니다.
각 진행 상황 115 현재 작업이 진행 중인 경우 표시됩니다.
딸깍 하는 소리 116 오래된 파일 핸들에 대해 표시됩니다.
EUCLEAN 117 구조물에 청소가 필요한 경우 표시됩니다.
제복 118 XENIX 명명된 유형 파일이 아닌 경우에 표시됩니다.
가능 119 사용 가능한 XENIX 세마포어가 없는 경우 표시됩니다.
에이스남 120 명명된 유형의 파일이 있는 경우 표시됩니다.
에레모티오 121 Remote I/O 에러인 경우 표시됩니다.
EDQUOT 122 디스크 할당량을 초과한 경우 표시됩니다.
에노메디움 123 매체가 발견되지 않은 경우 표시됩니다.
EMEDIUMTYPE 124 매체 종류가 잘못된 경우 표시됩니다.
취소됨 125 작업이 취소된 경우 표시됩니다.
이노키 126 필요한 키가 없는 경우 표시됩니다.
EKEY가 만료되었습니다. 127 키가 만료된 경우 표시됩니다.
EKEY취소됨 128 키가 취소된 경우 표시됩니다.
EKEY가 거부되었습니다. 129 서비스에서 키를 거부한 경우 표시됩니다.
EOWNERDEAD 130 소유자가 사망한 경우 표시됩니다.
ENOT복구 가능 131 복구할 수 없는 상태인 경우 표시됩니다.
ERFKILL 132 RF-Kill로 인해 동작이 불가능할 경우 표시됩니다.
EHWPOISON 133 메모리 페이지에 하드웨어 오류가 있는 경우 표시됩니다.