리눅스에서 ps(Process Status) 명령어는 리눅스 서버에서 동작하고 있는 프로세스의 상태를 스냅샷 형태로 알려주는 명령어다.
ps 명령어를 통해 프로세스의 ID, 상태, CPU 사용량, 메모리 사용량 등 다양한 정보를 확인할 수 있다.
# 기본 명령어 사용 ps
기본 명령어를 사용하면 현재 터미널 세션에서 실행 중인 프로세스 목록을 확인할 수 있다. 기본적으로 출력되는 정보는 PID, TTY, TIME, CMD가 있다.
- PID : 프로세스 ID
- TTY : 프로세스가 실행 중인 터미널
- TIME : 프로세스 실행 시간
- CMD : 명령어
ps 명령어는 다양한 옵션을 사용하여 원하는 정보를 정렬 및 필터링하여 확인 할 수 있다.
#리눅스 시스템에서 실행 중인 모든 프로세스 정보 확인 ps aux -a : 다른 사용자의 프로세스 확인 -u : 사용자 정보 포함 -x : 터미널에 연결되지 않은 프로세스 포함
#리눅스 시스템에서 모든 프로세스와 자세한 정보 확인 ps -ef -e : 모든 프로세스 -f : 포맷 확장 (전체 형식으로 출력)
#특정 사용자의 프로세스 확인 ps -u <사용자명> -u <사용자명> : 특정 사용자의 프로세스만 확인 #특정 항목을 정렬하여 확인 ps --sort=%cpu --sort=<정렬할 항목>
USER : 프로세스 소유자의 사용자명/실행자명
PID : 프로세스 ID
PPID : 부모 프로세스 ID
%CPU : 프로세스 CPU 사용 비율
%MEM : 프로세스 메모리 사용 비율
VSZ : 프로세스가 요청한/사용한 가상 메모리의 총 크기(단위 : KB)
VSZ는 일종의 메모리 예약 공간 크기로, 실제 물리적 메모리(RAM)에 로드되지 않은 부분도 포함될 수 있다.
TTY : 프로세스가 실행된 터미널, 백그라운드에서 실행 시 ?로 표시
STAT : 프로세스의 상태
START : 프로세스가 시작된 시간 or 날짜
TIME : 프로세스가 실행된 CPU 시간(프로세스가 실제로 CPU를 사용한 시간 표시)
COMMAND : 프로세스를 실행한 명령어