fork 직후에는 페이지를 공유하고 실제 쓰기가 생길 때
복사해 생성 비용을 낮춥니다.
프로세스 수명 주기 호출
부모와 자식 중 어느 쪽에서 호출되는지, 종료 상태를 누가 수거하는지까지 추적해야 좀비와 고아 프로세스를 설명할 수 있습니다.
fork부모 문맥 복제
exec새 프로그램 적재
exit종료 상태 남김
wait부모가 상태 회수
PID는 유지되지만 주소 공간과 코드 이미지는 새 실행 파일로 바뀝니다.
부모는 자식 PID, 자식은 0으로 서로 다른 분기를 탑니다.
프로세스가 끝나도 상태 코드는 부모가 wait로 읽을
때까지 커널에 남습니다.
자식은 끝났지만 부모가 수거하지 않으면 Z 상태가
프로세스 테이블을 차지합니다.
부모가 먼저 종료되면 PID 1 계열 프로세스가 새 부모가 되어 종료 상태를 처리합니다.