강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터2급강좌 : 실행중인 프로세스 정보출력(ps)

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터2급강좌 : 실행중인 프로세스 정보출력(ps)

 

 

ps


 

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

 

 

 

 

리눅스는 다중 사용자(Multi- user), 다중 작업(multi-tasking) 시스템이기 때문에 여러 개의 작업(job), 즉 프로세스가 동시에 실행된다.

 

 

 

 

그리고 사용자는 프로세스 아이디(PID)를 사용하여 작업을 중지하거나, 우선순위를 변경하는 등의 작업을 할 수 있다.

 

 

 

 

이때 현재 실행중인 프로세스의 정보를 얻기 위해 ps 명령어를 사용한다.

 

 

 

 

그리고 ps 명령어로 어떤 프로세스가 CPU를 지나치게 많이 사용했거나, 지나치게 많은 자식 프로세스를 가지고 있거나,

 

특정 응용 프로그램이 현저하게 속도가 느려지는 경우 이 명령어로 분석하여 시스템의 비정상 작동을 감지하여 오류를 수정할 수 있다.

 

 

 

ps의 명령 형식은 다음과 같다.

 

 

 

 

 

 

ps [options]

 

 

 

 

 

 

 

다음은 ps 명령어에 사용되는 주요한 옵션들에 대한 설명이다.

 

 

 

옵션

의미

-a

세션 리더와 터미널과 연관이 없는 프로세스를 제외한 모든 프로세스를 출력한다.

a

BSD 스타일로서 터미널과 연관된 모든 프로세스를 출력하거나, x 옵션과 함께 사용되어 모든 프로세스를 출력한다.

 

 

 

 

 

-d

세션 리더를 제외한 모든 프로세스들을 출력한다.

-e

모든 프로세스를 출력한다.

 

 

 

 

-A와 동일한 옵션이다.

r

실행 프로세스만 출력한다.

x

BSD 스타일로서 혼자 사용되면 사용자에 의해 소유된 모든 프로세스를 출력하고 a 옵션과 함께 사용되어 모든 프로세스를 출력한다.

-l

상세한 내용을 출력한다.

 

 

 

 

-c 옵션은 단순한 정보를 출력한다.

 

 

 

 

 

-F

아주 완전한 형식(extra full format)을 출력한다.

-f

완전한 형식의 목록을 출력한다.

-h

메뉴는 보여주지 않는다(PID, TTY, STAT, TIME, COMMAND ).

-j

작업에 관련된 ID를 출력한다.

-l

-j 옵션보다 자세하게 정보를 출력한다.

 

 

 

 

 

u

사용자 친화적인 형식으로 출력한다.

-y

플래그(flags)를 보여주지 않는다.

 

 

 

 

addr 대신 rss를 보여준다.

 

 

 

 

이 옵션은 l 옵션과 함께만 사용될 수 있다.

e

명령에 따르는 환경들을 함께 출력한다(-e 옵션과 다르다)

f

프로세스 간 상속관계를 트리구조로 보여준다.

n

사용자의 정보를 (모든 형식의 UIDGID를 포함하여) 숫자로 표시한다.

-w

출력결과를 생략하지 않고 넓게 출력한다(w 옵션도 동일하다).

 

 

 

 

 

 

옵션 없이 ps 명령어를 실행하면 현재 터미널과 관련된 프로세스들에 대한 정보를 출력하는데, 여기에는 프로세스 ID, 터미널 번호, 실행 시간, 명령어 이름을 볼 수 있다.

 

 

 

 

ps에 특정 옵션을 더해서 명령을 내렸을 때 출력되는 화면의 윗부분에 나타나는 메뉴들의 뜻은 다음과 같다.

 

 

 

 

 

 

옵 션

의미

PID(process ID)

프로세스마다 주어지는 번호

TTY(TeleTypewriter)

명령어가 실행되는 터미널의 번호. 할당된 것이 없는 경우 물음표(?) 출력

STAT(SteTe)

실행되고 있는 프로세스 상태(R,S,D,T,Z,W,N)

START(START)

프로세스가 시작된 시간

TIME(TIME)

CPU가 사용한 시간

USER(USER)

사용자의 이름

COMMAND(COMMAND)

사용자가 실행한 명령어

UID(User ID)

사용자의 ID

PGID(Parent Group ID)

사용자 부모 프로세스의 그룹 ID

SID(Session ID)

세션 ID

PRI(PRIority)

실행하는 우선 순위에 따른 프로세스

NI(NIce)

nice에 의한 우선 순위에 따른 프로세스

RSS(Resident Set Size)

프로세스가 사용하는 메모리의 크기

SZ(SiZe)

프로세스가 사용하는 자료와 스택의 크기

SHRD(SHareD)

프로세스가 사용하는 공유메모리

%CPU

프로세스가 사용하는 CPU 점유율

%MEM

프로세스가 사용하고 있는 메모리 점유율

WCHAN

프로세스가 실행하고 있는 커널 루틴

VSZ

KiB 단위(1024 바이트 단위)의 프로세스의 버추얼 메모리 크기(vsize와 동일한 의미).

 

 

 

 

 

일반적으로 ps 명령을 사용할 때에는 ax, axu -e 옵션을 많이 사용한다.

 

 

 

 

axauxBSD 형식으로 시스템상의 모든 프로세스를 출력한다.

 

 

 

 

그리고 -e 옵션은 표준 형식으로 시스템상의 모든 프로세스를 출력한다(-A, -ef, -eF, -ely 도 같은 의미이다). 다음과 같다.

 

 

 

 

 

 

 

 

# ps e

# ps ax

# ps axu

 

 

 

 

 

 

 

 

그런데 이렇게 하면 출력 내용이 너무 많기 때문에 파이프(|)grep 명령을 사용하여 특정 프로세스만 보거나 파이프(|)more 명령(또는 less 명령을 사용하기도 한다)을 사용하여 페이지 단위로 끊어서 내용을 확인하기도 한다.

 

 

 

 

 

 

 

 

 

 

# ps ax | grep mysqld

# ps ax | more

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  109 명