SYSEXITS(3)

명칭
sysexits - 프로그램의 바람직한 종료 코드

서식
<sysexits.h>

해설
style(9) 에 의하면, 프로그램을 종료할 경우에 실패 상태를 나타내기 위해서(때문에) 임의의 값을 사용해 exit(3) (을)를 호출하는 것은, 좋은 방식이 아닙니다. 대신에, sysexits (으)로부터의 사전에 정의된 종료 코드를 사용해야 하는 것이어, 그러면 프로세스의 호출자는 원시 코드를 조사하지 않아도 실패 클래스를 대체로 추정할 수가 있습니다.

무사하게 종료했던 것은, 항상 스테이터스 0 또는 EX_OK 에 의해 나타납니다. 임의의 프로그램이 항상 돌려줄 가능성이 있는 그 외의 종료 스테이터스와 충돌할 가능성을 줄이기 위해서(때문에), 에러 번호는 EX__BASE (으)로부터 시작됩니다. 코드 의 의미는, 대체로 다음에 나타내는 대로입니다：

EX_USAGE (64)
    명령이 부정하게 사용되었습니다. 예를 들면, 인수의 수의 잘못해, 잘못한 플래그, 파라미터가 잘못한 구문 등.

EX_DATAERR (65)
    입력 데이터가 어디선가 부정합니다. 이것은, 유저 데이터에만 사용할 필요가 있어, 시스템 파일에는 사용해야 하지는 않습니다.

EX_NOINPUT (66)
    입력 파일 (시스템 파일은 아니고)이 존재하지 않는지, 또는 읽어내 가능하지는 않습니다. 이것에는, 메일러에 대한다 “message” (와)과 같은 에러도 포함됩니다 (이러한 에러까지 잡으려고 하는 경우).

EX_NOUSER (67)
    유저가 지정한 것은 존재하지 않습니다. 이것은, 메일 주소나 리모트 로그인에 사용할 수가 있습니다.

EX_NOHOST (68)
    호스트가 지정한 것은 존재하지 않습니다. 이것은, 메일 주소나 네트워크 리퀘스트에 사용할 수가 있습니다.

EX_UNAVAILABLE (69)
    그 서비스는 이용할 수 없습니다. 이것은, 서포트 프로그램이나 파일이 존재하지 않는 경우에 일어납니다. 이것은, 무엇인가 하고 싶은 것을 할 수 없고, 그 이유를 모를 때의 캐치 콜 메세지로서 사용할 수도 있습니다.

EX_SOFTWARE (70)
    내부 소프트웨어 에러가 검출되었습니다. 이것은, 가능한 한 operating system 관련이 아닌 에러에 한정할 필요가 있습니다.

EX_OSERR (71)
    operating system 에러가 검출되었습니다. 이것은, “분기 할 수 없는,” “파이프를 작성할 수 없다” 등이 같은 에러에 사용하도록(듯이) 의도되고 있습니다. 이것에는, passwd 파일에 존재하지 않는 유저에게 대해 getuid (을)를 돌려주는 것 같은 것도 포함됩니다.

EX_OSFILE (72)
    시스템 파일의 어떤 것인가 (예를 들면, /etc/passwd , /var/run/utmp 등)이 존재하지 않는지, 열지 않는지, 또는 어떠한 에러 (예를 들면, 구문 에러)가 있습니다.

EX_CANTCREAT (73)
    (유저 지정의) 출력 파일을 작성할 수 없습니다.

EX_IOERR (74)
    몇개의 파일에 대해서 I/O 조작중에 에러가 일어났습니다.

EX_TEMPFAIL (75)
    일시적인 실패로, 진짜 에러가 아닌 것을 가리킵니다. sendmail 그럼, 이것은 메일러가 (예를 들면) 접속을 확립하지 못하고, 리퀘스트는 다음에 재시행할 필요가 있는 것을 의미합니다.

EX_PROTOCOL (76)
    리모트 시스템이 프로토콜 교환의 사이에 「가능하지 않다」무엇인가를 돌려주었습니다.

EX_NOPERM (77)
    그 조작을 실행하기 위해서 충분한 허가를 가지고 있지 않습니다. 이것은, 파일 시스템의 문제이기 때문에가 아니고, 보다 높다 레벨의 허가를 위해서(때문에) 의도되고 있습니다. 파일 시스템에 대해서는, EX_NOINPUT 또는 EX_CANTCREAT (을)를 사용해야 합니다.

EX_CONFIG (78)
    무엇인가가 configuration되어 있지 않은, 또는 configuration가 잘못되어 있는 상태에 있습니다.

상징적인 표현의 에러에 대응하는 수치가, 참조를 용이하게 하기 위해서 괄호내에 나타내 있습니다.

참조
exit(3), style(9)

역사
sysexits 파일은, 4.3BSD 이후의 어디선가 등장했습니다.

저자
이 메뉴얼 페이지는, <sysexits.h> 안의 코멘트 이후에 Jörg Wunsch 에 의해 쓰여졌습니다.

버그
적절한 종료치의 선택이, 자주 애매하게 됩니다.