dltmd202
dltmd202
dltmd202
전체 방문자
오늘
어제
  • 분류 전체보기 (11)
    • PS (3)
      • BOJ (3)
    • etc (2)
    • 알림서버 개발기 (3)
    • CS (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • network
  • JEST
  • http/2.0
  • DeadLock
  • 사이클 탐색
  • 고아 프로세스
  • transaction deadlock
  • kotlin
  • 플로이드 와샬
  • 좀비 프로세스
  • 트랜잭션 데드락
  • 락 엘리베이션
  • 다익스트라
  • Spring Batch
  • Kafka
  • HTTP
  • 코틀린
  • 스프링 배치
  • 알림서버
  • HTTP/2

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
dltmd202

dltmd202

CS

좀비 프로세스와 고아프로세스

2024. 6. 7. 01:13

좀비 프로세스

좀비 프로세스는 자식 프로세스가 먼저 종료되는 상황에서 wait을 호출하지 않았을 경우(SIGCHLD에 대한 시그널 핸들러도 등록되어 있지 않은 경우) 발생한다.

좀비 프로세스는 이미 메모리를 반환한 상태이고, 시스템에서 프로세스 테이블 내의 레코드를 점유하고 있는 상태이다.

wait

좀비 프로세스의 메모리는 이미 반환되어 있어서 크게 문제되지 않지만 PID는 계속 점유하고 있는다. 이때 좀비 프로세스 관리가 되지 않을 경우 시스템에서 할당 가능한 모든 PID를 사용해버려서 더 이상 프로세스를 만들 수 없는 상태가 될 수 있기 때문에 wait을 통해 종료된 자식 프로세스의 PID를 회수한다.

고아 프로세스

부모 프로세스가 먼저 종료되었을 때 자식 프로세스는 고아 프로세스가 된다.

고아 프로세스는 자동으로 init 프로세스(pid가 1번인 프로세스)의 자식 프로세스가 된다.

  • 프로세스의 계층 구조를 유지하기 위해
  • 해당 프로세스가 좀비 프로세스일 경우 자동으로 init 프로세스에서 해당 프로세스의 자원을 회수하기 위해

'CS' 카테고리의 다른 글

HTTP/2에 대해  (0) 2024.07.01
HTTP/1에 대해  (0) 2024.06.13
    'CS' 카테고리의 다른 글
    • HTTP/2에 대해
    • HTTP/1에 대해
    dltmd202
    dltmd202

    티스토리툴바