배포 스크립트가 꼬여 같은 감시 데몬이 수십 개씩 중복으로 떠 있는 서버를 떠올려 보자. PID를 하나씩 확인해 종료하는 사이에도 새 프로세스가 생길 수 있어서, 관리자는 이름을 기준으로 한 번에 정리한다. 정리하기 전에 대상 목록을 남겨 두면 나중에 장애 보고서나 원인 분석의 근거로 쓸 수 있다.
리눅스는 각 프로세스마다 PID 외에 실행 파일 이름(프로세스명)과 인자를 포함한 전체 명령행을 따로 보관한다. ps는 프로세스 상태를 훑어보는 도구이고, pgrep은 조건에 맞는 프로세스의 PID를 찾아 주며, pkill은 같은 조건으로 찾은 프로세스에 신호를 보낸다. 기본 신호인 TERM은 프로세스가 열린 파일을 정리하고 스스로 끝낼 기회를 주지만, KILL은 즉시 강제 종료하므로 데이터가 손상될 수 있다.
흔한 실수는 프로세스 이름과 명령행 전체를 구분하지 않는 것이다. 명령행 전체나 부분 문자열로 찾으면 인자에 같은 단어가 들어간 전혀 다른 프로세스까지 종료될 수 있으니, 신호를 보내기 전에 먼저 조회해서 대상을 확인하는 습관을 들이자. 이름 기준의 프로세스 조회와 신호 제어는 리눅스마스터 시험의 프로세스 관리 영역에서 자주 다루며, 서버 운영 담당자에게도 기본으로 요구되는 역량이다.