<PS
명령어의 상세설명>

1.
기능
http://www.linuxone.co.kr/images/0.gif
유닉스는 동시에 여러 개의 프로세서가 동작되기 때문에 사용자가 그것들의 목록과
상태를 점검할 필요가 있다.
ps
라는 이름은 processor status를 의미한다. ps를 사용하여 프로세서들의 상태를
점검할 수 있다.


2.
문법
http://www.linuxone.co.kr/images/0.gif
# ps [
옵션 ]


3.
옵션
http://www.linuxone.co.kr/images/0.gif
-l :
자세한 형태의 정보를 출력한다.
-u :
각 프로세서의 사용자 이름과 시작 시간을 보여준다.
-j :
작업 중심 형태로 출력한다.
-s :
시그널 중심 형태로 출력한다.
-v :
가상 메모리 중심 형태로 출력한다.
-m :
메모리 정보를 출력한다.
-a :
다른 사용자들의 프로세서도 보여준다.
-x :
로그인 상태에 있는 동안 아직 완료되지 않은 프로세서들을 보여준다.
유닉스 시스템은 사용자가 로그아웃하고 난 후에도 임의의 프로세서가 계속 동작하게 할 수 있다. 그러면 그 프로세서는 자신을 실행시킨 셸이 없이도 계속 자신의 일을
수행한다. 이러한 프로세서는 일반적인 ps 명령으로 확인할 수 없다. 이때 -x 옵션을
사용하면 자신의 터미널이 없는 프로세서들을 확인할 수 있다.
-S :
차일드(child) CPU 시간과 메모리 페이지 결함(fault) 정보를 추가 한다.
-c :
커널 task_structure로 부터 명령 이름을 보여준다.
-e :
환경을 보여준다.
-w :
긴(wide) 형태로 출력한다. 한 행 안에 출력이 잘리지 않는다.
-h :
헤더를 출력하지 않는다.
-r :
현재 실행중인 프로세서를 보여준다.
-n : USER
와 WCHAN 을 위해 수치 출력을 지원한다.


4.
사용방법 및 정보
http://www.linuxone.co.kr/images/0.gif
가) 기본적으로 ps는 현재 명령이 내려지는 쉘에서 만들어진 프로세서들의 목록만을
보여준다.
ps
는 자신이 실행되는 당시, 현재의 쉘에 의해서 수행된 프로세서들을 검사하고
보고한다는 점을 생각하자.
그러면 ps의 출력결과 리스트에 ps 자신이 있는 이유를 쉽게 이해할 수 있을 것이다.
각 필드의 의미는 다음과 같다.
http://www.linuxone.co.kr/images/0.gif

COMMAND :
명령어의 이름
PID :
프로세서 ID, 각 프로세서를 구분하기 위한 고유의 ID
RSS :
프로세서에 의해 사용되는 실제 메모리의 용량(K byte 단위)
USER :
프로세서를 실행시킨 소유자의 계정을 보여준다.
SZ :
프로세서의 자료와 스텍 크기의 (K byte 단위)
TIME :
현재까지 사용된 CPU의 시간(분,초)
TT :
프로세서의 제어 터미널(t3=/dev/tty3)
%CPU :
마지막 분동안 프로세서가 사용한 CPU시간의 백분율
START :
프로세서가 시작된 시간
STAT :
프로세서의 상태

이 중 STAT 필드는 몇 가지의 부호를 사용해서 프로세서의 상태를 표시하고 있다.
그것들을 정리해 보면 다음과 같다.

P : 수행 가능/수행 중
T :
일시 정지
D :
디스크 입출력 대기 같은 인터럽트할 수 없는 대기상태
S : 20
초 미만의 짧게 잠듦(sleep)
I : 20
초 이상의 길게 잠듦
Z :
좀비(zombi) 프로세서

좀비(zomb) 상태라는 것은 프로세서가 사라질 때 시그널 처리의 문제로 완전히
소멸되지 못한 상태를 말한다.

대개는 _aux 옵션을 많이 사용한다. 이 중 필요한 프로세스에 대한 결과만 선택적으로
보고자 한다면 grep 명령을 같이 사용한다.

http://www.linuxone.co.kr/images/0.gif

[root@sense ~]# ps  -aux
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  3444  564 ?        S    Mar17   0:00 init [5]
root         2  0.0  0.0     0    0 ?        SN   Mar17   0:00 [ksoftirqd/0]
root         3  0.0  0.0     0    0 ?        S<   Mar17   0:00 [events/0] --------------------
lebowski  8632  0.0  0.2  5756 1376 pts/3    S    17:10   0:00 -bash
root      8683  0.0  0.2  5692 1152 pts/3    S    17:10   0:00 su -
root      8684  0.0  0.2  5324 1432 pts/3    S    17:10   0:00 -bash
root      8817  0.0  0.1  3244  776 pts/3    R+   18:11   0:00 ps _aux

 

[root@sense ~]# ps -aux | grep vsftpd
root      2319  0.0  0.1  4912  988 ?        S    Mar17   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      8822  0.0  0.1  5544  672 pts/3    R+   18:13   0:00 grep vsftpd