Summry
프로세스(Process)란 작업 중인 프로그램을 운영체제가 관리하는 기본 단위로 프로그램이 실행되면 프로세스가 생성된다.
악성 프로그램 탐지 및 불필요한 서비스 실행 여부 확인을 위해서는 프로세스 모니터링이 필요하다.
본 문서에서는 간단한 프로세스 모니터링 방법을 정리한다.
send me email if you have any questions.
1. ps 명령어를 통한 모니터링
주요 옵션
-를 붙이지 않음(BSD 옵션), -를 붙임(UNIX 옵션), –를 붙임(GNU 옵션)
옵션 | 설명 |
---|---|
a | 모든 프로세스 표시 |
f | 프로세스의 부모 관계를 트리로 표시 |
l | 긴 포맷으로 표시 |
r | 실행 중인 프로세스만 표시 |
u | 실행 유저명도 함께 표시 |
x | 제어 단말이 없는 프로세스도 함께 표시 |
w | 긴 행은 문자열을 잘라 표시 |
U user | 해당 사용자가 실행한 프로세스만 표시 |
Z | SELinux용 데이터 표시 |
-C command | 명령어 선택 |
-e | 모든 프로세스 표시 |
-t consolename | 접속한 콘솔에서 실행한 프로세스 표시 |
-u UID | 해당 사용자 ID가 실행한 프로세스 표시 |
ps 명령어 표시 항목
항목 | 설명 |
---|---|
USER | 실행 사용자명 |
PID | 프로세스 ID |
%CPU | CPU 사용률 |
%MEM | 메모리 사용률 |
VSZ | 프로세스가 사용한 메모리양 |
RSS | 현재 사용 중인 메모리양 |
TTY | 제어 단말명 |
STAT | 프로세스의 상태 (S: 슬립 상태, D: 인터럽트 불가능한 슬립 상태, R: 실행 상태, T: 프레이스 중 혹은 정지 중인 상태, Z: 소멸한 프로세스, W: 스왑 아웃한 프로세스) 와 우선도 (N: 우선도 낮음, <: 우선도 높음) |
TIME | 소모한 CPU |
예) 시스템에서 실행되는 모든 프로세스 표시
$ ps aux
2. top 명령어를 통한 모니터링
top 명령어는 CPU 및 메모리 사용률, 시스템 평균 부하 등의 시스템 상태를 지속해서 모니터링 하기 위한 명령어이다.
명령 시점의 상태를 보여주는 ps 명령어와 달리 실시간으로 상태를 지속해서 보여준다.
top 명령어 표시 항목
항목 | 설명 |
---|---|
USER | 사용자명 |
PID | 프로세스 ID |
%CPU | CPU 점유율(%) |
%MEM | 물리 메모리 점유율(%) |
NI | nice 값 |
VIRT | 사용 중인 가상 메모리(KB) |
RES | 사용 중인 실제 메모리(KB) |
SHR | 공유 메모리 크기(KB) |
S | 프로세스 상태 |
TIME+ | 프로세스가 시작한 이후 사용한 CPU 시간 총계 |
COMMAND | 실행한 명령어 |
top 명령어 사용 중 조작
명령어 | 설명 |
---|---|
space | 즉시 내용 업데이트 |
f | 대화형 모드로 전환 |
l | 평균 부하 표시/미표시 |
m | 메모리 정보 표시/미표시 |
t | 프로세스와 CPU 상태 표시/미표시 |
P | CPU 사용률 순으로 정렬 |
M | 메모리 사용률 순으로 정렬 |
K | 프로세스에 TERM 시그널 전송 |