-
좀비 프로세스, 고아 프로세스 (zombie process, orphan process)CS 2021. 12. 5. 18:18
좀비 프로세스
- 자식 프로세스가 부모 프로세스보다 먼저 종료될 때 발생한다.
- 자식 프로세스가 종료되었는데 부모 프로세스가 이를 인지하지 못해 리소스 낭비가 이루어 질 수 있는 상태이다.
- 보통 자식 프로세스가 exit 시스템 콜을 사용하여 종료되었음을 알리고 부모 프로세스에서 wait 시스템 콜을 통해 이를 인지하고 리소스를 해제시켜야 한다. 이 때 자식 프로세스에서 exit 한 뒤 부모 프로세스가 wait하기 전인 이 사이에 있는 프로세스는 좀비 프로세스라고 할 수 있다.
고아 프로세스
- 부모 프로세스가 자식 프로세스보다 먼저 종료될 때 발생한다.
- 자식 프로세스가 exit 시스템 콜을 할 때 이를 부모 프로세스가 wait 시스템 콜을 이용해서 종료를 수집해야 하는데 이미 종료되었기 때문에 wait 시스템 콜을 이용하여 자식 프로세스의 종료를 인지 할 주체가 사라지게 된다.
- 이는 누군가가 이 자식프로세스의 exit 을 wait으로 받아서 처리해야만 한다.
'CS' 카테고리의 다른 글
HTTP와 HTTPS (0) 2021.12.12 TCP와 UDP의 차이점 (0) 2021.12.12 교착 상태와 기아 상태 (0) 2021.12.12 뮤텍스와 세마포어 (mutex and semaphore) (0) 2021.12.05 프로세스와 쓰레드 (0) 2021.12.05