좀비 프로세스
좀비 프로세스는 자식 프로세스가 먼저 종료되는 상황에서 wait
을 호출하지 않았을 경우(SIGCHLD에 대한 시그널 핸들러도 등록되어 있지 않은 경우) 발생한다.
좀비 프로세스는 이미 메모리를 반환한 상태이고, 시스템에서 프로세스 테이블 내의 레코드를 점유하고 있는 상태이다.
wait
좀비 프로세스의 메모리는 이미 반환되어 있어서 크게 문제되지 않지만 PID는 계속 점유하고 있는다. 이때 좀비 프로세스 관리가 되지 않을 경우 시스템에서 할당 가능한 모든 PID를 사용해버려서 더 이상 프로세스를 만들 수 없는 상태가 될 수 있기 때문에 wait
을 통해 종료된 자식 프로세스의 PID를 회수한다.
고아 프로세스
부모 프로세스가 먼저 종료되었을 때 자식 프로세스는 고아 프로세스가 된다.
고아 프로세스는 자동으로 init
프로세스(pid가 1번인 프로세스)의 자식 프로세스가 된다.
- 프로세스의 계층 구조를 유지하기 위해
- 해당 프로세스가 좀비 프로세스일 경우 자동으로 init 프로세스에서 해당 프로세스의 자원을 회수하기 위해
'CS' 카테고리의 다른 글
HTTP/2에 대해 (0) | 2024.07.01 |
---|---|
HTTP/1에 대해 (0) | 2024.06.13 |