ps (Process Status)
ps는 현재 시스템에서 실행 중인 프로세스의 상태를 확인하는 명령어입니다. top이나 htop이 실시간으로 변하는 모습을 보여준다면, ps는 명령어를 입력한 그 순간의 프로세스 스냅샷을 정적으로 보여줍니다.
1. 기본 사용법
ps [옵션]
- 옵션 없이
ps만 입력하면 현재 터미널과 연결된 프로세스만 간단히 보여줍니다.
2. 주요 옵션 조합 (가장 많이 쓰임)
| 옵션 | 설명 |
|---|---|
aux |
BSD 스타일. 시스템의 모든 사용자 프로세스를 상세히 보여줍니다. |
-ef |
Standard/Unix 스타일. 모든 프로세스를 풀 리스트 형식으로 보여줍니다. |
-u [사용자] |
특정 사용자가 실행한 프로세스만 보여줍니다. |
-p [PID] |
특정 프로세스 ID(PID)의 정보만 확인합니다. |
3. 실무 활용 예시
① 시스템 전체 프로세스 확인 (가장 일반적)
ps aux
# USER: 소유자, PID: 프로세스ID, %CPU, %MEM, VSZ: 가상메모리, RSS: 실제메모리, STAT: 상태 등
② 특정 프로그램이 실행 중인지 확인 (grep과 조합)
가장 많이 사용되는 형태입니다. 예를 들어 'python' 관련 프로세스만 찾고 싶을 때:
ps aux | grep python
③ 프로세스 트리 구조로 보기
ps -axjf
4. [팁] 프로세스 상태(STAT) 코드 읽기
ps aux 결과의 STAT 컬럼에서 보이는 문자의 의미입니다.
* R (Running): 현재 실행 중이거나 실행 가능한 상태
* S (Sleeping): 이벤트가 발생하기를 기다리는 상태
* D (Uninterruptible sleep): 입출력(IO) 등을 기다리는 중단 불가능한 상태
* Z (Zombie): 프로세스는 종료되었으나 부모가 회수하지 않은 상태