[Linux] ps : 실행 중인 서비스 관리하기

sosimeow·2023년 6월 3일
0

Linux/Ubuntu

목록 보기
3/5
post-thumbnail

자주 쓰는 ps 명령어에 대해 정리해보자 ~~ 🐧

1. ps (process status)

  • ps (Process Status) : 현재 실행중인 프로세스 목록을 보여주는 명령어

  • 구문

    ps [OPTIONS]

linux 에서는 여러 개의 프로세스가 동시에 실행되며, ps 명령어로 현재 실행되는 프로세스들의 정보를 얻을 수 있다.

또한 프로세스 중에서 CPU, 메모리 등을 많이 점유하고 있거나, 지나치게 많은 자식 프로세스를 생성하는 등 시스템 속도가 느려진 경우 ps 명령어로 시스템 오류를 감지할 수 있다.

2. ps option

optionmeaning
-a세션 리더와 터미널과 연관이 없는 프로세스를 제외한 모든 프로세스를 출력
aBSD 스타일로 터미널과 연관된 모든 프로세스(다른 유저의 프로세스도) 를 출력하거나, x 옵션과 함께 사용되어 모든 프로세스를 출력
-d세션 리더를 제외한 모든 프로세스들을 출력
r실행 프로세스만 출력
xBSD 스타일로 혼자 사용되면 사용자에 의해 소유된 모든 프로세스 출력하며, a 옵션과 함께 사용되어 모든 프로세스 출력
-l상세 내용을 함께 출력
-e모든 프로세스 출력
-f풀 포맷으로 목록을 출력
-h메뉴 x (PID, TTY, STAT, TIME, CMD 등
-j작업에 관련된 ID 를 출력
u프로세스 실행 user, CPU, memory, usage, 상태 등 출력
f프로세스 간 상속관계를 트리구조로 출력
n사용자의 정보를 (모든 형식의 UID 와 GID 를 포함하여) 숫자로 표시
-w출력결과를 생략하지 않고 넓게 출력

3. ps output

optionmeaning
PID(process ID)프로세스마다 주어지는 번호
TTY(Tele Typewriter)명령어가 실행되는 터미널의 번호, 할당된 것이 없는 경우 물음표(?) 출력
STAT실행되고 있는 프로세스 상태 (R, S, D, T, Z, W, N)
TIMECPU 가 사용한 시간
USER사용자 이름
COMMAND사용자가 실행한 명령어
UID사용자의 ID
PGID사용자 부모 프로세스의 그룹 ID
SID(Session ID)세션 ID
PRI(PRlority)실행하는 우선순위에 따른 프로세스
NI(NIce)nice 에 의한 우선순위에 따른 프로세스
RSS(Resident Set Size)프로세스가 사용하는 메모리의 크기
SZ(SiZE)프로세스가 사용하는 자료와 스택의 크기
SHRD(SHareD)프로세스가 사용하는 공유 메모리
%CPU프로세스가 사용하는 CPU 점유율
%MEM프로세스가 사용하고 있는 메모리 점유율
WCHAN프로세스가 실행하고 있는 커널 루틴
VSZKiB 단위(1024 바이트) 의 프로세스의 버추얼 메모리 크기

STAT (프로세스의 상태)

  • D : Uninterruptable sleep (종료할 수 없는, 깨울 수 없는 sleep 상태)
  • R : 실행 중, 또는 실행 가능한 상태
  • S : Interruptible sleep (종료할 수 있는, 깨울 수 있는 sleep 상태)
  • T : 중지됨 (작업 제어 신호를 받거나, 트레이싱 때문)
  • X : 죽음
  • Z : Defunct(좀비) 프로세스. 종료되었으나 부모프로세스에 의해 수습되지 않음

4. Check Process status

1. 사용 중인 프로세스 조회

$ ps -e
$ ps ax
$ ps aux

2. 특정 프로세스 조회

$ ps -e | grep mysqld

3. PID 받아오기

  • 실행중인 프로세스 kill 할 때 주로 사용
$ ps -ef | grep -v python | awk '{print $2}'
USER  PID ...
root  812 ...
root  815 ...

awk : 파일에서 특정 문자열을 검색하여 가공하기 위한 명령어로 콘솔 출력에 적용 가능
awsk 'patter', awk {action}, awk 'pattern {action} 등의 문법을 사용


4. 전체 프로세스 끊어서 보기

$ ps -e | more

실행되고 있는 전체 프로세스 확인이 필요한 경우 less 또는 more 을 사용하여 페이지 단위로 확인하기도 한다.




Reference

profile
데이터 엔지니어 ing

0개의 댓글