exit
v1.1.0
os . Exit ( exit . Forbidden ) // The user isn't permitted to perform this action
os . Exit ( exit . Unavailable ) // An API this program consumes isn't available
use semantic_exit :: { exit , Code } ;
exit ( Code :: Forbidden ) ;
exit ( Code :: Unavailable ) ;
import exit
exit . Code . Forbidden . exit ()
exit . Code . Unavailable . exit ()
종료 코드의 전체 목록을 참조하십시오.
일반적으로 제로가있는 프로그램을 종료하면 성공이 발생하지만 0이 아닌 것은 실패를 나타냅니다.
os . Exit ( 0 ) // success
os . Exit ( 1 ) // failure
그러나 시스템 호출 exit
0에서 255 사이의 값을 받아 들여 254 개의 다른 표현 실패를 남깁니다.
이 라이브러리의 목표는 다음과 같은 출구 코드를 정의하는 것입니다.
사용자 오류의 경우 80-99, 소프트웨어 또는 시스템 오류의 경우 100-119의 두 가지 범위에서 코드를 정의합니다.
종료 코드 | 이름 | 의미 |
---|---|---|
0 | OK | 이 프로그램은 성공적으로 종료되었습니다. |
1 | NotOK | 이 프로그램은 실패로 빠져 나갔지 만 실패가 무엇인지에 대한 추가 맥락을 제공하지 않습니다. |
80 | UsageError | 이 프로그램은 잘못 사용 되었기 때문에 실패했습니다. (예 : 필수 인수는 생략되거나 깃발에 대해 잘못된 값이 제공되었습니다.) |
81 | UnknownSubcommand | 인식되지 않은 부하 명령이 호출 되었기 때문에이 프로그램은 실패했습니다. (CLI Multi-Tools에서 사용) |
82 | RequirementNotMet | 이 프로그램은 전제 조건이 충족되지 않았기 때문에 실패했습니다. |
83 | Forbidden | 사용자가 요청 된 조치를 수행 할 권한이 없기 때문에 프로그램은 실패했습니다. |
84 | MovedPermanently | 이 프로그램은 새로운 위치로 마이그레이션 되었기 때문에 실패했습니다. |
100 | InternalError | 이 프로그램은 자체 코드의 문제로 인해 실패했습니다. (문제가 프로그램 코드 또는 종속성과 관련이있는 것으로 알려진 경우 1 대신 사용.) |
101 | Unavailable | 이 프로그램은 의존하는 서비스를 사용할 수 없었기 때문에 실패했습니다. (예 : 로컬 데몬 또는 원격 서비스가 응답하지 않았고, 연결이 예기치 않게 닫히고, HTTP 서비스가 503으로 응답했습니다.) |
Ctrl
C
로 프로그램을 종료하면 신호 SIGINT
(값이 2 인 신호)를 보내고 프로그램이 종료됩니다. 130.)sysexits.h
코드는 원래 sendmail
에 대해 정의되었지만 그 이후로 여러 곳에서 사용되었습니다. (시맨틱 종료 코드를 sysexits.h 코드와 비교)