perror - Linux/Unix system errno 를 string 으로 출력해 주는 유틸리티

개요

 Linux/Unix 에서 에러가 발생할 경우 errno=13 처럼 errno 만 출력하면 정확한 원인을 파악하기 힘듭니다. 

man errno 를 해서 확인해야 하거나 /usr/include/errno.h 헤더의 주석을 보고 찾아야 하는 불편함이 있습니다.

 (x86 기반의 Linux 는 실제 errno 정의는 /usr/include/asm-generic//errno-base.h 와 /usr/include/asm-generic//errno.h 에 있습니다.

 

POSIX API 중에 strerror(3) 이나 perror(3) 이 있지만 C 로 별로 유틸리티를 작성해야 합니다.

 

설치

MySQL-server 패키지에 포함되어 있습니다. 다음 명령어로 패키지를 확인할 수 있습니다.

rpm -qf `which perror`         
MySQL-server-5.5.30-1.el6.x86_64

 설치되어 있지 않다면 CentOS 6 에 yum 으로 MySQL 5.5 설치 를 참고하여 설치하면 됩니다.

 

사용

perror errno 으로 구동합니다. errno 는 발생한 에러 번호입니다.

perror 13
OS error code  13:  Permission denied
perror 2
OS error code   2:  No such file or directory

 

Ref