320x100
320x100

linux의 process kill 과정
- 프로세스 생성 과정
: 부모 프로세스가 자식 프로세스를 생성
: 프로세스는 자원을 필요로 하며, OS로 부터 지원을 받거나 부모 프로세스와 공유를 하기도함
: 자식은 부모의 Address space, PCB와 자원을 fork하고 그 공간에 새로운 프로그램을 exec 한다

- 프로세스 종료 과정
: 프로세스가 마지막 명령을 수행한 후 OS에게 이를 알림 (exit)
: 종료 될 때 자식이 부모에게 데이터를 보냄 (자식 프로세스 종료 > 부모 프로세스 종료)
: 프로세스의 각종 자원들이 OS에 반납 됨

- abort
: 비 자발적인 자식 프로세스 종료
 > 자원의 할당치 초과
 > 자식에게 할당된 태스크가 더 이상 필요하지 않을 때 종료
 > 부모가 종료되는 경우 자식 프로세스도 종료 (root > 부모의 부모 > 자식 > 자식의 자식 순)


자발적 종료 (exit)
: 마지막 statement 이후 exit 시스템 콜을 이용하여 이루어짐
: 프로그램에 명시적으로 exit라는 시스템 콜을 넣어 명시적으로 종료 가능


비자발적 종료
: 부모 프로세스가 자식 프로세스를 강제 종료
: 키보드로 kill, break 등을 입력한 경우
: 부모 프로세스가 종료하는 경우 자식 -> 부모 순으로 순차적 종료가 이루어짐

300x250
728x90