새벽 배포 작업 중 애플리케이션 데몬을 한 번 내렸다 올려야 하는데, 같은 이름의 프로세스가 여러 개 떠 있어 이름만으로는 어느 것을 멈춰야 할지 알 수 없는 상황이 있습니다. 이럴 때 관리자는 데몬이 기동하면서 자기 PID를 적어둔 파일을 열어 그 번호를 확인하고, 정확히 그 프로세스에만 종료 신호를 보냅니다. 그리고 언제 무엇을 멈췄는지 별도 파일에 남겨 다음 교대자나 장애 리포트에서 근거로 쓸 수 있게 합니다.
리눅스에서 프로세스 종료는 '강제로 죽이는 동작'이 아니라 '시그널을 보내는 동작'입니다. kill은 이름과 달리 지정한 프로세스에 시그널을 전달하는 도구이고, 어떤 시그널을 보내느냐에 따라 프로세스의 반응이 달라집니다. PID 파일은 이 대상 지정을 안정적으로 하기 위한 오래된 관례로, 파일 안에는 보통 숫자 한 줄만 들어 있습니다.
자주 혼동되는 지점은 SIGTERM과 SIGKILL의 차이입니다. 전자는 프로세스에게 정리할 시간을 주고 스스로 끝내라고 요청하는 신호라 임시 파일 정리나 연결 종료 같은 마무리 작업이 수행되지만, 후자는 커널이 즉시 회수해 버려 그런 기회가 없습니다. 서비스 데이터를 다루는 프로세스라면 이 차이가 손상 여부를 가릅니다.
이런 유형은 리눅스마스터나 RHCSA 같은 자격 시험은 물론, 서비스 재기동과 장애 기록을 맡는 운영·인프라 담당자에게 기본기로 요구됩니다.