부모프로세스가 종료됐을 때
자식 프로세스는 부모 프로세스가 없어져서 고아프로세스가 됨
- 프로세스가 종료될 때, 커널은 이 프로세스가 누구의 부모 프로세스인지 확인
- 커널은 자식 프로세스의 부모 pid를 1로 바꿈 (init 프로세스가 부모라는 말)
- init 프로세스 :
유닉스 계열 운영체제에서 부팅과정에서 최초로 생성되는 프로세스
시스템이 종료될 때까지 계속 살아있으며 pid는 일반적으로 1임
- 고아 프로세스가 작업을 종료하면 init 프로세스가 wait 함수를 호출한다
- init 프로세스가 고아 프로세스의 종료 상태를 회수하여 좀비프로세스가 되는 것을 막음
좀비 프로세스는 자식 프로세스가 종료됐지만 부모프로세스에 의해 거둬지지 않은 프로세스를 말함
즉 부모 프로세스가 wait함수를 호출해서 자식 프로세스의 종료를 기다려주지 않았다는 거임
'CS > 오퍼레이팅 시스템' 카테고리의 다른 글
16. IPC 프로세스간 커뮤니케이션 : message passing (0) | 2020.04.09 |
---|---|
15. IPC 프로세스간 커뮤니케이션 : shared memory, producer-consumer문제 (0) | 2020.04.09 |
13. 프로세스 시스템콜 (0) | 2020.04.09 |
12. 프로세스 스케줄링 (0) | 2020.04.08 |
11. 프로세스 개념 (0) | 2020.04.08 |