[질문] exit() 함수의 인자값 의미?

hurryon의 이미지

exit() 함수을 사용할때 1이나 8의 인자을 무심결에 사용하고 있습니다. 제대로
된 설명 문서을 읽어 보지 못했기 때문에...그냥 습관상 사용하고 있는것
이죠...

exit() 함수의 인자값들의 의미에 대해서 제대로 된 문서나 혹은...
참고해야 할것 좀 부탁합니다. 혹은 아시는 분?

purewell의 이미지

부모에게 반환되는 값일 겁니다.

보통 '0'은 정상적인 종료,

기타 다른 값을 오류처리하여 사용하기도 하죠.
(ex. make 유틸리티)

_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz

cedar의 이미지

정상적인 종료일 때는 EXIT_SUCCESS를,
비정상적인 종료일 때는 EXIT_FAILURE를 인자로 넘기세요.

pynoos의 이미지

exit 에서 넘어가는 값은

parent 에서 wait 할때 얻는 child status 값에 저장됩니다.
그렇다고 바로 그 값이 저장되는 것은 아니고, status 값이 여러 다른 것도 포함해서 저장됩니다. 그 값이 OS마다 다르기때문에 표준으로 제공하는 macro를 통해서 구해야합니다.

man 2 wait

해보시면됩니다.

반면, parent가 shell 이라면,

echo $?

로 그 값을 바로 확인 할 수 있습니다.