[Linux] ps 명령어의 설명 및 예제
[Linux] ps 명령어의 설명 및 예제
▼ PS 란?
동시에 여러 개의 프로세서가 동작되기 때문에 사용자가 그것들의 목록과 상태를 점검할 필요가 있다.
ps라는 이름은 processor status 이며
ps를 사용하여 프로세서들의 상태를 점검할 수 있다.
▼ 사용법
# ps [ 옵션 ]
▼ 사용 옵션 예)
옵션 | 의미 |
-a | 세션 리더와 터미널과 연관이 없는 프로세스를 제외한 모든 프로세스를 출력합니다. |
a | BSD 스타일로서 터미널과 연관된 모든 프로세스를 출력하거나, x 옵션과 함께 사용되어 모든 프로세스를 출력합니다. |
-d | 세션 리더를 제외한 모든 프로세스들을 출력합니다. |
-e | 모든 프로세스를 출력합니다. |
r | 실행 프로세스만 출력합니다. |
x | BSD 스타일로서 혼자 사용되면 사용자에 의해 소유한 모든 프로세스를 출력하고 a 옵션과 함께 사용되어 모든 프로세스를 출력합니다. |
-l | 상세한 내용을 출력합니다. -c 옵션은 단순한 정보를 출력합니다. |
-F | 아주 완전한 형식(extra full format)으로 출력합니다. |
-f | 완전한 형식의 목록을 출력합니다. |
-h | 메뉴는 보여주지 않습니다(PID, TTY, STAT, TIME, COMMAND 등) |
-j | 작업에 관련된 ID를 출력합니다. |
u | 사용자 친화적인 형식으로 출력합니다. |
-y | 플래그(flags)를 보여주지 않습니다 |
e | 명령에 따르는 환경들을 함께 출력합니다(-e 옵션과 다릅니다.) |
f | 프로세스 간 상속관계를 트리구조로 보여줍니다. |
n | 사용자 정보를(모든 형식의 UID와 GID를 포함하여) 숫자로 표시합니다. |
-w | 출력결과를 생략하지 않고 넓게 출력합니다(w옵션과 동일) |
▼ 사용방법
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 명령을 같이 사용한다.
▼ EX)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | [root@abc ~]# 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@abc ~]# 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 [root@abc ~]$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.3 33776 3724 ? Ss Mar19 0:04 /sbin/init root 2 0.0 0.0 0 0 ? S Mar19 0:00 [kthreadd] user 25011 0.0 0.5 26852 5244 pts/14 Ss 18:57 0:00 -bash user 25164 0.0 0.2 22648 2488 pts/14 R+ 19:19 0:00 ps aux [root@abc ~]$ ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Mar19 ? 00:00:04 /sbin/init root 2 0 0 Mar19 ? 00:00:00 [kthreadd] user 25011 25010 0 18:57 pts/14 00:00:00 -bash user 25112 25011 0 19:11 pts/14 00:00:00 ps -ef | cs |
'Program > Linux' 카테고리의 다른 글
[IO모델] 동기/비동기/블로킹/논블로킹 에 대한 설명 (0) | 2019.12.19 |
---|---|
[Unix] 크론(cron) 표현식 (0) | 2019.10.29 |
[Linux] Crontab 설정 방법 (0) | 2019.04.09 |
[linux] chmod, chown, chgrp 명령어의 사용법 (0) | 2017.12.05 |
[Linux] 리눅스 디렉토리 삭제 (하위디렉토리 포함) (1) | 2017.11.15 |