process tree

프로세스 생성 단계

fork, exec, wait, 좀비, 고아, Windows CreateProcess를 한 흐름에 놓으면 부모 자식 관계와 종료 처리의 책임이 보입니다.

생명 흐름
01fork 02child 분기 03exec 교체 04exit 상태 05wait 회수
fork 복제

자식은 부모의 주소 공간과 열린 파일을 논리적으로 물려받고, 실제 메모리는 copy-on-write로 늦게 복사됩니다.

exec 교체

PID와 일부 열린 파일은 유지한 채 현재 프로세스 이미지가 새 프로그램으로 바뀝니다.

wait 책임

부모가 종료 상태를 회수해야 프로세스 테이블 엔트리가 정리되고 좀비가 사라집니다.

고아 처리

부모가 먼저 종료되면 init이나 systemd 계열 프로세스가 새 부모가 되어 회수 책임을 맡습니다.