본문으로 이동
Linux/POSIX 에러에러
EBADF

EBADF — 잘못된 파일 디스크립터

파일 디스크립터 인수가 유효한 열린 파일 디스크립터가 아니거나, 요청된 작업에 대해 열려 있지 않습니다.

linuxmacosunix

이 에러의 원인

프로그램이 한 번도 열지 않았거나 이미 닫혔거나 올바른 모드로 열리지 않은 파일 디스크립터를 사용하려 했습니다. 파일 디스크립터를 이중으로 닫거나 실패한 open() 호출 이후에 사용하는 것이 흔한 원인입니다.

수정 방법

파일 디스크립터를 사용하기 전에 유효성을 확인하십시오. open()과 socket() 호출의 반환값을 확인하십시오. close() 호출 이후에는 해당 파일 디스크립터를 사용하지 마십시오. strace로 파일 디스크립터 작업을 추적하십시오.

공식 문서

관련 에러 코드