Linux

[Linux] 프로세스 관련 명령어 - ps

thdwldud 2025. 8. 25. 09:51

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)
+ 포어그라운드 프로세스 그룹