지금 실행 중인 프로세스 보기
ps는 프로세스 표를 한 시점에 찍어 보여 줘. BSD식 ps aux와 System V식 ps -ef처럼 옵션 관습이 둘 이상이고 운영체제마다 지원하는 열이 다를 수 있으니 그 머신의 도움말도 확인해.
자주 쓰는 조회 형태
ps aux: 모든 사용자의 프로세스와 전체 명령줄을 보여 줘.ps -ef: 비슷한 정보를 System V식 옵션으로 보여 줘.ps -p <pid>: 한 PID만 조회해.ps aux | grep -i firefox | grep -v grep: 이름이 든 줄을 찾아.ps -o pid,ppid,command: 필요한 열만 고르게 해.
진단할 때 보는 열
USER: 프로세스 소유자야.PID: 프로세스 번호야.%CPU와%MEM: 순간 자원 사용률이야.RSS: 메모리에 상주한 크기야.STAT: 실행, 대기, zombie, 정지 같은 상태를 보여 줘.COMMAND: 실행 파일과 인자야. 표시 폭에 따라 잘릴 수 있어.
pgrep와 pkill로 이름을 다루기
pgrep firefox는 이름이 맞는 PID를 출력해. pkill -f 'python myscript'는 전체 명령줄이 맞는 모든 프로세스에 신호를 보내므로 예상보다 넓게 잡힐 수 있어. 먼저 pgrep -af pattern으로 PID와 전체 명령을 확인한 뒤 정확한 대상을 선택해.
자원 수치는 원인이 아니라 단서야
%CPU와 %MEM은 관찰할 후보를 좁혀 줄 뿐 장애 원인을 판정하지 않아. 순간 급증은 정상일 수 있고 큰 RSS에는 회수 가능한 캐시가 포함될 수 있어. 시간차를 둔 관찰과 로그, 실제 작업량을 함께 봐.
PID는 영구적인 신원이 아니야
프로세스가 끝나면 운영체제는 같은 PID를 다른 프로세스에 다시 줄 수 있어. 오래된 PID를 근거로 신호를 보내기 전에 실행 파일, 시작 시각, 부모 PID를 다시 확인해. 장기 서비스는 서비스 매니저의 안정된 이름으로 제어하는 편이 안전해.