Linux ps 명령어 완벽 가이드 (프로세스 조회, 옵션, 실전 활용)
ps 명령어의 기본 사용법부터 옵션, 출력 해석, 실무 활용까지 한 번에 정리한 가이드
Linux ps 명령어 완벽 가이드 (프로세스 조회, 옵션, 실전 활용)
ps 명령어는 현재 실행 중인 프로세스(Process) 상태를 확인하는 가장 기본적인 도구입니다. 서버 운영, 장애 분석, 성능 모니터링 등에서 필수적으로 사용됩니다.
1. ps 명령어란?
ps는 Process Status의 약자로, 현재 시스템에서 실행 중인 프로세스 정보를 출력합니다.
기본적으로 현재 터미널에서 실행된 프로세스만 출력됩니다.
2. 기본 출력 항목 설명
1
ps
출력 예시:
1
2
3
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
5678 pts/0 00:00:00 ps
| 항목 | 설명 |
|---|---|
| PID | 프로세스 ID |
| TTY | 터미널 |
| TIME | CPU 사용 시간 |
| CMD | 실행 명령어 |
3. 주요 옵션 정리
3.1 전체 프로세스 조회
1
ps -e
또는
1
ps -A
👉 시스템의 모든 프로세스 출력
3.2 상세 정보 출력
1
ps -f
👉 UID, PPID 등 상세 정보 포함
3.3 자주 쓰는 조합
1
ps aux
👉 가장 많이 사용하는 형태 (BSD 스타일)
| 항목 | 설명 |
|---|---|
| USER | 사용자 |
| PID | 프로세스 ID |
| %CPU | CPU 사용률 |
| %MEM | 메모리 사용률 |
| VSZ | 가상 메모리 |
| RSS | 실제 메모리 |
| TTY | 터미널 |
| STAT | 상태 |
| START | 시작 시간 |
| TIME | CPU 사용 시간 |
| COMMAND | 실행 명령 |
3.4 트리 구조로 보기
1
ps -ef --forest
👉 부모-자식 프로세스 관계를 트리 형태로 표시
3.5 특정 프로세스 조회
1
ps -p 1234
👉 PID로 특정 프로세스 조회
3.6 특정 사용자 프로세스 조회
1
ps -u username
4. 프로세스 상태 코드 (STAT)
| 코드 | 의미 |
|---|---|
| R | 실행 중 |
| S | 대기 상태 |
| D | I/O 대기 |
| T | 중지됨 |
| Z | 좀비 프로세스 |
👉 특히 Z 상태는 좀비 프로세스로, 관리가 필요합니다.
5. 실무에서 자주 쓰는 활용
5.1 특정 프로세스 찾기
1
ps aux | grep nginx
👉 특정 서비스 실행 여부 확인
5.2 CPU 사용량 높은 프로세스 찾기
1
ps aux --sort=-%cpu | head
5.3 메모리 사용량 높은 프로세스
1
ps aux --sort=-%mem | head
5.4 프로세스 트리 확인
1
ps -ef --forest
👉 서비스 구조 분석 시 매우 유용
6. ps vs top
| 항목 | ps | top |
|---|---|---|
| 방식 | 정적 | 실시간 |
| 사용 목적 | 스냅샷 | 모니터링 |
| 활용 | 분석 | 실시간 상태 확인 |
👉 ps는 현재 상태를 한 번 조회 👉 top은 실시간 변화 확인
7. 꿀팁
7.1 grep 제외
1
ps aux | grep nginx | grep -v grep
👉 자기 자신 제외
7.2 pgrep 사용 (더 간단)
1
pgrep nginx
👉 PID만 간단히 조회 가능
7.3 특정 컬럼만 출력
1
ps -eo pid,ppid,cmd,%mem,%cpu
👉 원하는 컬럼만 커스터마이징 가능
8. 주의사항
ps aux는 시스템 전체 조회 → 부하 고려 필요- 좀비 프로세스(Z)는 부모 프로세스 문제일 가능성 있음
- root 권한이 있어야 일부 프로세스 확인 가능
9. 정리
ps는 프로세스 상태 확인의 기본 도구ps aux는 가장 많이 사용하는 명령--sort,grep과 함께 사용하면 강력- 실시간 모니터링은
top과 함께 활용
This post is licensed under CC BY 4.0 by the author.