프로세스 식별자(英: Process Identifier, 약칭 PID)는 운영체제에서 실행 중인 각 프로세스를 구분하기 위해 할당되는 고유한 정수값이다. 일반적으로 비음수 정수이며, 시스템에 따라 0부터 시작하거나 1부터 시작한다.
-
목적
- 커널과 사용자 공간에서 프로세스를 식별하고 관리한다.
- 신호 전송, 자원 할당, 우선순위 조정 등 다양한 시스템 콜에서 PID를 인자로 사용한다.
-
생성 및 관리
- 프로세스가 생성될 때(예:
fork,CreateProcess등) 커널이 현재 사용 가능한 PID 중 하나를 할당한다. - PID는 시스템 전체에서 유일해야 하며, 동일 PID가 동시에 존재하지 않도록 관리된다.
- 프로세스가 종료되면 해당 PID는 일정 기간(일부 시스템에서는 “PID 재사용 지연”이라고 함) 동안 재사용되지 않으며, 이후 새로운 프로세스에 재할당될 수 있다.
- 프로세스가 생성될 때(예:
-
범위 및 제한
- Unix-like 시스템에서는 보통 16비트에서 32비트 정수까지 사용되며, 최신 리눅스 커널에서는 32768 이상의 값도 허용한다.
- Windows에서는 32비트 정수(0~2,147,483,647) 범위 내에서 PID를 할당한다.
-
관련 개념
- 프로세스 그룹 식별자(PGID): 동일한 작업 그룹에 속한 프로세스들을 묶는 식별자.
- 세션 식별자(SID): 로그인 세션 혹은 작업 세션을 구분하는 식별자.
-
사용 예
ps -p 1234: PID가 1234인 프로세스 정보를 조회한다.kill -9 1234: PID가 1234인 프로세스에 SIGKILL 신호를 보낸다.- 프로그래밍 API 예시(Unix):
getpid()→ 현재 프로세스의 PID 반환.
프로세스 식별자는 현대 운영체제에서 기본적인 관리 메커니즘으로, 시스템 자원과 프로세스 제어의 핵심 요소로 널리 사용된다.