WIPIVERSE

프로세스 식별자

프로세스 식별자(英: Process Identifier, 약칭 PID)는 운영체제에서 실행 중인 각 프로세스를 구분하기 위해 할당되는 고유한 정수값이다. 일반적으로 비음수 정수이며, 시스템에 따라 0부터 시작하거나 1부터 시작한다.

  1. 목적

    • 커널과 사용자 공간에서 프로세스를 식별하고 관리한다.
    • 신호 전송, 자원 할당, 우선순위 조정 등 다양한 시스템 콜에서 PID를 인자로 사용한다.
  2. 생성 및 관리

    • 프로세스가 생성될 때(예: fork, CreateProcess 등) 커널이 현재 사용 가능한 PID 중 하나를 할당한다.
    • PID는 시스템 전체에서 유일해야 하며, 동일 PID가 동시에 존재하지 않도록 관리된다.
    • 프로세스가 종료되면 해당 PID는 일정 기간(일부 시스템에서는 “PID 재사용 지연”이라고 함) 동안 재사용되지 않으며, 이후 새로운 프로세스에 재할당될 수 있다.
  3. 범위 및 제한

    • Unix-like 시스템에서는 보통 16비트에서 32비트 정수까지 사용되며, 최신 리눅스 커널에서는 32768 이상의 값도 허용한다.
    • Windows에서는 32비트 정수(0~2,147,483,647) 범위 내에서 PID를 할당한다.
  4. 관련 개념

    • 프로세스 그룹 식별자(PGID): 동일한 작업 그룹에 속한 프로세스들을 묶는 식별자.
    • 세션 식별자(SID): 로그인 세션 혹은 작업 세션을 구분하는 식별자.
  5. 사용 예

    • ps -p 1234 : PID가 1234인 프로세스 정보를 조회한다.
    • kill -9 1234 : PID가 1234인 프로세스에 SIGKILL 신호를 보낸다.
    • 프로그래밍 API 예시(Unix): getpid() → 현재 프로세스의 PID 반환.

프로세스 식별자는 현대 운영체제에서 기본적인 관리 메커니즘으로, 시스템 자원과 프로세스 제어의 핵심 요소로 널리 사용된다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기