[system/c] 프로세스의 종료 방식 Programming

(pdf 270)

1. 정상적인 케이스

1) main 함수에서 리턴한 경우. (exit() 동작과 같다.)

2) exit() 호출.
exit 의 경우 등록되어 있는 종료 핸들러를 실행한 뒤, 내부적으로 _Exit 나 _exit 를 호출하여 종료한다.  종료 핸들러는 atexit() 을 이용해서 등록할 수 있다.

3) _exit() 나 _Exit() 호출.

4) 프로세스의 마지막 스레드가 리턴한 경우.
5) 프로세스의 마지막 스레드가 pthread_exit() 호출.


2. 비정상적인 케이스

1) abort() 콜. SIGABRT 시그널을 발생하며 종료된다.
2) 종료를 일으킬 수 있는 시그널을 받은 경우.
3) 프로세스의 마지막 스레드가 cancellation request 에 응답하였을 때.


덧글

댓글 입력 영역