어제 우리는 프로세스를 식별하고 제어하는 법을 배웠다. 오늘은 한 걸음 더 들어가 프로세스가 어떻게 태어나고, 어떻게 일하며, 어떻게 죽는지 그 생애 전체를 들여다본다. 핵심은 네 가지다 — 백그라운드에서 묵묵히 도는 데몬(daemon), 화면을 차지하는 포그라운드와 뒤로 보내는 백그라운드, 부모가 회수하지 않아 시체로 남은 좀비와 부모를 잃은 고아, 그리고 모든 프로세스 생성의 원리인 fork와 exec.
이 개념들은 어제의 PID/PPID 가계도 위에서 자연스럽게 이어진다. 프로세스가 자식을 낳고(fork), 다른 프로그램으로 변신하고(exec), 죽은 뒤 부모가 거두는(wait) 한살이를 이해하면 좀비와 고아가 왜 생기는지 단번에 풀린다.
**데몬(daemon)**은 사용자와 직접 대화하지 않고 백그라운드에서 특정 서비스를 제공하는 프로세스다. 웹 서버(httpd), SSH 접속(sshd), 예약 작업(crond), 메일(postfix) 등이 모두 데몬이다. 이름 끝에 **'d'**가 붙는 관례가 있어 sshd·httpd·crond처럼 d로 끝나면 십중팔구 데몬이다.
데몬의 특징은 다음과 같다.