본문 바로가기
Linux

[Linux] 19. 프로세스 관리 명령

by 상도동개발자 2023. 2. 15.
SMALL

1. 프로세스 목록 확인

1-1. PS 명령어

- 현재 실행 중인 프로세스에 대한 정보를 출력한다.

- 형식 : ps [옵션]

- 옵션

옵션 종류 옵션 설명
<유닉스 옵션> -e 시스템에서 실행 중인 모든 프로세스의 정보를 출력
-f 프로세스에 대한 자세한 정보를 출력
-u uid 특정 사용자에 대한 모든 프로세스의 정보를 출력
-p pid pid로 지정한 특정 프로세스의 정보를 출력
<BSD 옵션> a 터미널에서 실행시킨 프로세스의 정보를 출력
u 프로세스 소유자 이름, CPU 사용량, 메모리 사용량 등 상세 정보를 출력
x 시스템에서 실행 중인 모든 프로세스의 정보를 출력
<GNU 옵션> -- pid PID 목록 목록으로 지정한 특정 PID 정보를 출력

- 사용 예

현재 단말기의 프로세스 목록 출력하기 : ps 명령어
프로세스 상세 정보 출력하기 : ps -f 명령어

- ps -f의 출력 정보

항목 의미
UID 프로세스를 실행한 사용자 ID
PID 프로세스 번호
PPID 부모 프로세스 번호
C CPU 사용량 (% 값)
STIME 프로세스의 시작 날짜나 시간
TTY 프로세스가 실행된 터미널의 종류와 번호
TIME 프로세스 실행 시간
CMD 실행되고 있는 프로그램 이름(명령)

터미널에서 실행시킨 프로세스 정보 출력하기 : ps a 옵션

- ps a옵션에서 나오는 STAT에 사용되는 문자의 의미

문자 의미 비고
R 실행 중(running)  
S 인터럽트가 가능한 대기(sleep) 상태  
T 작업 제어에 의해 정지된(stopped) 상태  
Z 좀비 프로세스(defunct)  
STIME 프로세스의 시작 날짜나 시간  
s 세션 리더 프로세스 BSD 형식
+ 포그라운드 프로세스 그룹
l(소문자 L) 멀티스레드

터미널에서 실행시킨 프로세스 상세 정보 출력하기 : a 옵션과 u 옵션

- ps au 출력 정보

항목 의미
USER 사용자 계정 이름
%CPU 퍼센트로 표시한 CPU 사용량
%MEM 퍼센트로 표시한 물리적 메모리 사용량
VSZ 사용 중인 가상 메모리의 크기(KB)
RSS 사용 중인 물리적 메모리의 크기(KB)
START 프로세스 시작 시간

전체 프로세스 목록 출력하기(유닉스 옵션) : -e 옵션과 -f 옵션
전체 프로세스 목록 출력하기(BSD 옵션) : ax 옵션과 aux 옵션
특정 사용자의&nbsp; 프로세스 목록 출력하기 : -u 옵션
특정 프로세스 정보 출력하기: ps -p 옵션

2. 특정 프로세스 정보 검색

2-1. pgrep 명령어

- 지정한 패턴과 일치하는 프로세스의 정보를 출력한다.

- 형식 : pgrep [옵션] [패턴]

- 옵션

옵션 설명
-x 패턴과 정확히 일치하는 프로세스의 정보를 출력한다.
-n 패턴을 포함하고 있는 가장 최근 프로세스의 정보를 출력한다.
-u 사용자 이름 특정 사용자에 대한 모든 프로세스를 출력한다.
-l PID와 프로세스 이름을 출력한다.
-t term 특정 단말기와 관련된 프로세스의 정보를 출력한다.

- 사용 예

pgrep 명령어 여러 옵션 사용 예시

3. 프로세스 종료

3-1. kill

- 지정한 시그널을 프로세스에게 보낸다

- 형식 : kill [-시그널] PID...

- 주요 시그널 옵션

시그널 번호 기본 처리 의미
SIGHUP 1 종료 터미널과 연결이 끊겼을 때 발생한다.
SIGINT 2 종료 인터럽트로 사용자가 Ctrl + c 를 입력하면 발생한다.
SIGQUIT 3 종료, 코어덤프 종료 신호로 사용자가 Ctrl + \ 을 입력하면 발생한다.
SIGKILL 9 종료 이 시그널을 받은 프로세스는 무시할 수 없으며 강제로 종료된다.
SIGALRM 14 종료 알람에 의해 발생한다.
SIGTERM 15 종료 kill 명령이 보내는 기본 시그널이다.

- kill 명령어 사용 예시는 한쪽이 프로세스를 실행하고 다른 한쪽이 종료해야하기때문에 2개 이상의 터미널을 실행해야 한다.

- 터미널 1 - 프로세스 실행

명령어 확인 man 명령어 실행

 

터미널 1에서 실행중인 man 명령어

- 터미널 2 - 프로세스 종료

kill 명령어로 실행중인 man ps 프로세스 종료

3-2. pkill 명령어

- 동일하게 프로세스를 종료하지만 PID가 아닌 프로세스의 명령 이름으로 종료

- EX)  pkill man

 

3-3. killall

- pkill 처럼 명령이름으로 종료하고 실행중인 모든 프로세스를 한 번에 종료 할 수 있다.

- EX) killall man

 

4. 프로세스 관리 도구

4-1 top 명령

- 현재 실행 중인 프로세스의 정보를 주기적으로 출력

- 프로세스의 자세한 요약 정보를 상단에 출력

- 형식 : top

- top 명령의 출력 정보

항목 의미
PID 프로세스 ID
USER 사용자 계정
PR 우선순위
NI Nice 값
VIRT 프로세스가 사용하는 가상 메모리의 크기
RES 프로세스가 사용하는 메모리의 크기
SHR 프로세스가 사용하는 공유 메모리의 크기
%CPU 퍼센트로 표시한 CPU 사용량
%MEM 퍼센트로 표시한 메모리 사용량
TIME+ CPU 누적 이용 시간
COMMAND 명령 이름

- top 명령어 사용

top 명령어 사용 화면

- top 명령의 내부 명령

내부 명령 기능
Enter, Space Bar 화면을 즉시 다시 출력
h, ? 도움말 화면을 출력
k 프로세스를 종료한다. 종료 할 프로세스의 PID를 물어본다.
n 출력하는 프로세스의 개수를 바꾼다.
u 사용자에 따라 정렬하여 출력
M 사용하는 메모리 크기에 따라 정렬하여 출력
p CPU 사용량에 따라 정렬하여 출력
q top 명령을 종료
728x90
반응형
LIST

댓글