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