「누가 누구」를 식별하는 PID·PPID.
모든 프로세스 작업의 기본.
PID(Process ID).
프로세스의 고유 정수.
시스템에서 한 번에 하나뿐.
프로세스가 종료되면 그 PID는 재사용 가능.
부팅 후 1번부터 시작, 큰 시스템은 수만 번까지.
PPID(Parent PID).
「누가 나를 만들었나」.
fork한 부모 프로세스 ID.
부모가 먼저 죽으면 PPID가 1(systemd)이 됨 — 「고아 프로세스」를 systemd가 입양.
PID 1 — init/systemd.
시스템 첫 프로세스.
모든 다른 프로세스의 직간접 조상.
모던 리눅스는 systemd, 일부는 init·SysVinit·OpenRC.
특수 PID.
PID 1 systemd, PID 2 kthreadd(커널 스레드 부모, [브래킷] 표시).
ps에서 [kworker] 같이 대괄호 표시는 「커널 스레드」 — 일반 프로세스 아님.
실제 사용자 프로세스는 보통 [] 없는 것들.
한 줄 요약
PID는 프로세스 고유 ID, PPID는 부모.
PID 1은 init/systemd, PID 2는 kthreadd(커널 스레드 부모).
부모 죽으면 PPID 1로 입양.
[] 표시는 커널 스레드.
더 알아볼 것
- 프로세스 그룹·세션
- 프로세스 상태 — R·S·D·Z·T
- systemd-cgls로 cgroup 트리