
ps(process status)
- 동작 중인 프로세스의 상태를 출력하는 명령어
ps [option]
옵션
| 옵션 | 설명 |
| a | 터미널과 연관된 프로세스를 출력하는 옵션 보통 x옵션과 연계하여 모든 프로세스를 출력할 때 사용 (BSD 계열) |
| u | 프로세스의 소유자를 기준으로 출력 |
| x | 데몬 프로세스처럼 터미널에 종속되지 않은 프로세스를 출력 보통 a 옵션과 결합하여 모든 프로세스를 출력할 때 사용 |
| l | 프로세스의 정보를 길게 보여주는 옵션으로 우선순위와 관련된 PRI와 NI 값을 확인 가능 |
| e | 해당 프로세스에 관련된 환경 변수 정보를 함께 출력 |
| f | 프로세스 간의 상속 관계를 트리 구조로 보여줌 |
| p | 특정 PID를 지정할 때 사용 (BSD 계열) |
| -A | 모든 프로세스를 출력 (-e 옵션과 같음) (System V 계열) |
| -e | 모든 프로세스를 출력 (-A 옵션과 같음) |
| -a | 세션 리더(일반적으로 로그인 셸)을 제외하고 터미널에 종속되지 않은 모든 프로세스를 출력 |
| -f | 유닉스 스타일로 출력하는 옵션 UID, PID, PPID 등이 함께 표시 |
| -C 프로세스명 | 지정한 프로세스만 보여줌 |
| -o 값 | 출력 포맷을 지정하는 옵션으로 값으로는 pid, tty, time, cmd 등을 지정할 수 있음 |
| -p | 특정 PID 를 지정할 때 사용 (Sys V 계열) |
| -u | 특정 사용자의 프로세스 정보를 확인할 때 사용 사용자를 지정하지 않으면 현재 사용자를 기준으로 정보를 출력 |
사용 예
- 사용자 관련된 프로세스를 출력
ps
- 시스템에 동작 중인 모든 프로세스를 소유자 정보와 함께 출력 (BSD)
ps aux
- System V 계열 옵션으로 시스템에 동작 중인 모든 프로세스를 출력. 추가로 한 페이지씩 화면에 출력되도록 함
ps -ef |more
- 동작 중인 프로세스 중 sendmail이라는 이름의 프로세스를 찾아서 출력
ps aux |grep sendmail
- 시스템에 동작 중인 모든 프로세스 중 상위 10개만 출력. 최초의 프로세시은 systemd의 PID 번호가 1번임을 알 수 있음
ps aux | head
- PID가 1222인 프로세스의 이름을 출력
ps -p 1222 -o comm=
ps 명령의 실행 결과로 나타나는 주요 항목
| 항목 | 설명 |
| USER | BSD 계열에서 나타나는 항목으로 프로세스 소유자의 이름 |
| UID | SYSTEM V 계열에서 나타나는 항목으로 프로세스 소유자의 이름 |
| PID | 프로세스의 식별 번호 |
| %CPU | CPU 사용 비율의 추정치(BSD) |
| %MEM | 메모리 사용 비율의 추정치(BSD) |
| VSZ | K 단위 또는 페이지 단위의 가상 메모리 사용량 |
| RSS | 실제 메모리 사용량(Resident Set Size) |
| TTY | 프로세스와 연결된 터미널 |
| STAT | 현재 프로세스의 상태 코드 |
| START | 프로세스 시작 시간 또는 날짜 |
| TIME | 총 CPU 사용 시간 |
| COMMAND | 프로세스의 실행 명령 |
| STIME | 프로세스가 시작된 시간 혹은 날짜(System V) |
| C, CP | 짧은 기간 동안의 CPU 사용률(C : Sys V, CP : BSD) |
| F | 프로세스의 플래그(1: exec 호출 없이 fork된 경우, 4: 슈퍼 유저 권한 사용자) |
| PRID | 부모 프로세스의 PID |
| PRI | 실제 실행 우선순위 |
| NI | nice 우선순위 번호 |
프로세스 상태 코드인 STAT의 주요 값
| 값 | 설명 |
| R(Running) | 실행 중 혹은 실행될 수 있는 상태(실행 Queue 내에 존재) |
| S(Sleeping) | 인터럽트에 의한 sleep 상태로 특정 이벤트가 끝나기를 기다리는 상태 |
| D(Disk wait) | 디스크 I/O에 의해 대기하고 있는 상태 |
| T(Traced or stopped) | 정지된 상태(suspend) |
| W | pending 상태 (2.6.xx 커널 이후로는 사용하지 않음) |
| Z(Zombie) | 좀비(zombie) 프로세스를 뜻하는데, 작업이 종료되었으나 부모 프로세스로부터 회수되지 않아 메모리를 차지하고 있는 상태 |
| X | 죽어있는 상태를 뜻하는데, 상태값으로 볼 수 없음 |
| < | 우선순위가 인위적으로 높아진 상태(사용자에 의해 nice된 것은 아님) |
| N(Nice) | 다른 사용자에 의해 인위적으로 우선순위가 낮아진 상태 |
| L | 메모리 안에서 페이지가 잠금된 상태(보통 real-time과 일반적 I/O에 의해 발생) |
| s | session Leader |
| | | 멀티 스레드 상태(CLONE_THREAD) |
| + | 포어그라운드 프로세스 그룹 |
'Linux' 카테고리의 다른 글
| [Linux] 압축 - tar(tape archive) (3) | 2025.09.01 |
|---|---|
| [Linux] 소프트웨어 설치 및 관리 - yum (1) | 2025.08.26 |
| [Linux] 프로세스와 /proc 디렉터리 (0) | 2025.08.19 |
| [Linux] cron / crontab (2) | 2025.08.17 |
| [Linux] 프로세스 관리 명령어 - nice / renice (1) | 2025.08.12 |