ps(process status)는 「현재 실행 중인 프로세스 목록」.
옵션이 매우 많고 BSD 스타일 vs UNIX 스타일이 섞여 있어 처음엔 혼란스럽지만 핵심 패턴 몇 개면 충분.
흔한 패턴.
ps aux — BSD 스타일, 모든 사용자의 모든 프로세스.
ps -ef — UNIX 스타일, 같은 효과.
출력 — USER·PID·CPU·MEM·VSZ·RSS·STAT·START·TIME·COMMAND.
ps aux | grep.
특정 프로세스 찾기.
ps aux | grep nginx — nginx 관련 프로세스.
grep 자체가 보이는 함정 — ps aux | grep [n]ginx 트릭으로 회피(자기 grep 안 보임).
트리.
ps -ef --forest 또는 pstree — 부모-자식 관계.
「어느 부모가 어떤 자식들을 만들었나」 직관적.
특정 출력.
ps -o pid,user,cmd — 원하는 컬럼만.
ps -o pid,etime,cmd로 실행 시간 포함.
ps -p 1234 — 특정 PID만.
스크립트에서 「특정 정보만」 추출에 유용.
한 줄 요약
ps aux(또는 ps -ef)가 가장 흔한 패턴 — 모든 프로세스.
ps aux | grep으로 검색, --forest 트리, -o로 컬럼 선택.
STAT·CPU·MEM·RSS 컬럼이 핵심.
더 알아볼 것
- STAT 컬럼 의미 — RSDZT
- RSS vs VSZ — 메모리 의미
- top·htop도 같은 정보