'프로세스 관리 명령'에 해당되는 글 1건

  1. 2009/05/15 리눅스 프로세스 잘 관리하는 비법 - "프로세스 관리 명령 세트 메뉴" by 정승용 정샘

프로세스 관리 명령

1. ps

현재 시스템에서 실행 중인 프로세스 목록을 출력한다.

사용형식

ps [옵션]

사용옵션

-A : 모든 프로세스 출력.
-e : -A와 동일.
T : 현재 터미널에서 실행된 프로세스만 출력.
-a : 현재 세션 사용자에 의해 모든 터미널에서 실행된 프로세스 출력.
a : 모든 프로세스를 BSD 스타일로 출력. 명령과 함께 사용된 파라메터도 출력. x와 함께 사용시 제어 터미널없이 실행된 프로세스까지 함께 출력.
-d : 현재 세션 사용자에 의해 실행된 모든 프로세스를 제어 터미널 유무와 상관없이 전부 출력.
r : 현재 실행중인 프로세스만 출력.
x : 제어 터미널 없이 실행된 프로세스만 출력. a 옵션과 보통 함께 사용.
f : pstree와 같은 형식으로 ASCII art 방식으로 출력.
-F : 모든 항목을 다 출력.(full format)
-f : UNIX 스타일로 모든 항목 출력.
j : 부모 프로세스를 포함한 jobs 형식으로 출력.
-j : jobs 형식.
l : BSD 스타일의 자세한 항목 출력.
-l : long format. -y옵션과 함께 사용하면 플래그 정보를 표시하지 않는다.
u : UID를 포함하여 출력.
v : 가상 메모리 정보를 포함하여 출력.
-Z : 보안 컨텍스트 정보 출력.(SELinux에 해당.)
h : 헤더 없이 출력.
w, -w : wide format으로 줄바꿈하여 모든 항목 출력.

일반적으로 1개의 옵션만을 사용하기 보다는 관련있는 옵션을 묶어서 사용한다. ps 명령의 실행 예는 다음과 같다.

모든 프로세스를 표준적인 방법을 출력하는 예:

$ ps -e
$ ps -ef
$ ps -eF
$ ps -ely

프로세스 트리를 출력하는 예:

$ ps -ejH
$ ps axjf

스레드 정보를 표시하는 예:

$ ps -eLf
$ ps axms

보안 정보를 출력하는 예:

$ ps -eo euser,ruser,suser,fuser,f,comm,label
$ ps axZ
$ ps -eM

root 사용자에 의해 실행된 모든 프로세스 출력하는 예:

$ ps -U root -u root u

출력 필드

  • USER : 프로세스 소유자의 계정.
  • PID : 프로세스 식별자.
  • RSS : 프로세스에 의해 사용되는 실제 메모리 사용량.(Kbyte)
  • SZ : 프로세스 자료와 스택의 크기.(Kbyte)
  • TIME : 현재까지 사용된 CPU 시간.(분, 초)
  • TTY : 프로세스의 제어 터미널.
  • %CPU : 전체 프로세스를 대상으로 CPU가 해당 프로세스를 실행한 CPU 시간의 백분율.
  • %MEM : 프로세스가 사용한 실제 메모리의 백분율.
  • START : 프로세스 시작 시간.
  • COMMAND : 명령어 이름.

프로세스의 상태코드(STAT)

  • D(disk wait) : 디스크 입출력 대기같은 인터럽트 할 수 없는 대기 상태.
  • R(running or runable) : 프로세스가 실행중이거나 실행큐에 들어있는 실행 가능 상태.
  • S(sleep) : 인터럽트 가능한 대기 상태.
  • T(stopped) : 프로세스가 ^Z나 트레이스 명령 등으로 멈춘 상태.
  • W(paging) : 가상 메모리 사용 중.(2.6버전 커널부터 사용하지 않음.)
  • X(dead) : 실행 종료. 이후 나타나지 않음.
  • Z(zombie) : 좀비 프로세스.

BSD 포맷에 의한 추가 상태 코드

  • < : 실행 우선 순위 높음.(다른 사용자의 nice 명령에 의한 우선 순위 변경 안됨.)
  • N : 실행 우선 순위 낮음.(다른 사용자의 nice 명령에 의해 우선 순위 변경 가능.)
  • L : 실시간 실행이나 사용자 입출력에 의해 메모리 락이 걸림.
  • s : 세션내에서 실행됨.
  • l : 멀티 스레드.
  • + : 포그라운드 실행.

2. pstree

프로세스 정보를 트리 형태로 출력.

사용 옵션

-n : PID 순으로 정렬.
-p : 프로세스 명과 PID를 함께 출력.

3.kill

지정된 프로세스에게 종료 시그널을 전송한다.

사용형식

$ kill [옵션] 프로세스ID

사용옵션

-s : 전송할 시그널의 이름이나 번호 지정.
-p : 전송할 시그널을 출력만 한다.
-l : 시그널 목록 출력.

SIGNAL 종류

  • SIGHUP(1) : 제어 터미널이 멈추거나 제어 프로세스가 죽음.
  • SIGINT(2) : 키보드로부터의 인터럽트 시그널.
  • SIGQUIT(3) : 키보드로부터의 종료 시그널(quit).
  • SIGABORT(6) : abort로부터의 중단.
  • SIGKILL(9) : kill 시그널. 강제 종료.
  • SIGTERM(15) : 프로그램 종료 시그널.

3. top

프로세스의 CPU와 메모리 사용량 등 정보를 실시간으로 모니터링한다.

4. bg

^Z로 중지된 프로세스를 백그라운드 작업으로 변경한다. 명령 실행시 '&'를 함께 실행하면 실행시 백그라운드 작업으로 실행된다.

5. jobs

백그라운드 작업 목록을 표시한다.

6. fg

백그라운드 작업 목록에서 프로세스를 포그라운드 작업으로 되돌린다.

저작자 표시 비영리 동일 조건 변경 허락

Posted by 정승용 정샘

트랙백 주소 :: http://jeongsam.net/trackback/49 관련글 쓰기

댓글을 달아 주세요