| HOME / 정보공유 / AIX 명령어 모음

ps
ps ps 명령 목적 프로세스의 현재 상태를 표시합니다. 구문
X/Open Standards
ps [ -A ] [ -N ] [ -a ] [ -d ] [ -e ] [ -f ] [ -k ] [ -l ] [ -F format] [ -o Format ] [ -c Clist ] [ -G Glist ] [ -g Glist ] [ -m ] [ -n NameList ] [ -p Plist ] [ -t Tlist ] [ -U Ulist ] [ -u Ulist ]
Berkeley 표준
ps [ a ] [ c ] [ e ] [ ew ] [ eww ] [ g ] [ n ] [ U ] [ w ] [ x ] [ l | s | u | v ] [ t Tty ] [ ProcessNumber ]
설명
ps 명령은 표준 출력에 활동 중인 프로세스의 현재 상태와 (-m 플래그가 제공된 경우) 관련 커널 스레드를 기록합니다. -m 플래그가 여분의 행을 사용하여 프로세스와 관련된 스레드를 표시하는 동안, 여분의 스레드 관련 열을 표시하기 위해 THREAD 필드 지정자와 함께 -o 플래그를 사용해야 한다는 점에 유의하십시오.
플래그 없이 ps 명령은 현재 워크스테이션에 관한 정보를 표시합니다. -f, -o, l, -l, s, u 및 v 플래그는 제공되는 프로세스에 대한 정보량만 판별하고, 어떤 프로세스가 나열되는지를 판별하지 않습니다. l, s, u 및 v 플래그는 상호 배타적입니다.
-o 플래그로 ps 명령은 메모리나 페이징 영역을 검사하고 프로세스 작성시 명령 이름 및 매개변수가 무엇이었는지 판별합니다. ps명령으로 이 정보를 찾을 수 없는 경우, 커널에 저장된 명령 이름은 꺽쇠 괄호로 표시됩니다.
COLUMNS 환경 변수는 시스템이 선택한, 수평 화면 크기를 대체합니다.
매개변수 리스트를 승인하는 명령행 플래그(-o, -G, -g, -p, -t, -U 및 -u 플래그)는 128개 항목으로 제한됩니다. 예를 들면, -u Ulist 플래그는 128명 이하의 사용자를 지정할 수 있습니다.
ps 명령과 함께 사용된 플래그에 따라 열 제목은 표준 출력에 표시된 정보 위에 나타납니다. 제목은 다음 리스트(이 제목을 표시하는 플래그는 괄호 안에 표시)에 정의됩니다.
ADDR
(-l, l 플래그) 정상인 경우, 프로세스 스택의 세그먼트 번호를 포함하며, 커널 프로세스인 경우에는 프리프로세스 데이터 영역의 주소를 포함합니다.
BND
(-o THREAD 플래그) 커널 스레드가 바인드되는 프로세서의 논리적 프로세서 번호(있는 경우). 프로세스의 경우, 프로세스의 모든 스레드가 동일한 프로세서에 바인드되면 이 필드가 표시됩니다.
C
(-f, l 및 -l 플래그) 프로세스나 스레드의 CPU 사용은 시스템 시계가 작동될 때마다 증가하며, 프로세스나 스레드는 수행 중인 것으로 나타납니다. 값은 스케줄러에 의해 초당 1/2씩 감소됩니다. sched_other 정책의 경우, CPU 사용은 프로세스 스케줄링 우선순위를 판별하는 데 사용됩니다. 큰 값은 CPU 프로세스를 집중시켜 프로세스 우선순위가 낮아지는 반면, 작은 값은 I/O 프로세스를 집중시켜 프로세스 우선순위가 높아집니다.
CMD
(-f, -l 및 l 플래그) 명령 이름을 포함합니다. 전체 명령 이름과 그 매개변수는 -f 플래그로 표시됩니다.
COMMAND
(s, u 및 v) 명령 이름을 포함합니다. 전체 명령 이름과 그 매개변수는 -f 플래그로 표시됩니다.

F 필드 테이블
플래그 | 16진 값 | 정의
SLOAD | 0x00000001 | 프로세스가 코어 메모리에서 작동 중임을 의미합니다.
SNOSWAP | 0x00000002 | 프로세스가 swap out될 수 없다는 것을 의미합니다.
STRC | 0x00000008 | 프로세스가 추적되고 있음을 의미합니다.
SWTED | 0x00000010 | 프로세스가 추적 중 중지되었음을 의미합니다.
SFWTED | 0x00000020 | 프로세스가 추적되는 동안, 분기 실행(fork) 서브루틴을 호출한 다음 중지되었음을 의미합니다.
SEWTED | 0x00000040 | 프로세스가 추적되는 동안, exec 서브루틴을 호출한 다음 중지되었음을 의미합니다.
SLWTED | 0x00000080 | 프로세스가 추적되는 동안, load 또는 unload 서브루틴을 호출한 다음 중지되었음을 의미합니다.
SFIXPRI | 0x00000100 | 프로세스가 고정된 우선순위를 가지고 있으며, pcpu 필드 설명자를 무시한다는 것을 의미합니다.
SKPROC | 0x00000200 | 커널 프로세스를 의미합니다.
SOMASK | 0x00000400 | 신호를 수신한 후, 이전 마스크가 복원되었음을 의미합니다.
SWAKEONSIG | 0x00000800 | 신호로 sleep 서브루틴을 중단한다는 것을 나타냅니다. 내용은 PCATCH 플래그의 내용과 같지 않아도 됩니다. PCATCH 및 SWAKEONSIG 둘 모두의 내용은 PMASK의 내용보다 커야 합니다.
SUSER | 0x00001000 | 프로세스가 사용자 모드에 있음을 의미합니다.
SLKDONE | 0x00002000 | 프로세스가 잠금을 완료하였음을 의미합니다.
STRACING | 0x00004000 | 프로세스가 디버깅 프로세스임을 의미합니다.
SMPTRACE | 0x00008000 | 다중 프로세스 디버깅을 의미합니다.
SEXIT | 0x00010000 | 프로세스가 종료 중임을 의미합니다.
SSEL | 0x00020000 | 프로세서가 작동개시(wakeup)/대기 위험을 선택 중임을 의미합니다.
SORPHANPGRP | 0x00040000 | 고립된 프로세스 그룹을 의미합니다.
SNOCNTLPROC | 0x00080000 | 세션 리더가 터미널 제어를 포기하였음을 의미합니다.
SPPNOCLDSTOP | 0x00100000 | SIGHLD 신호가 서브프로세스 중지할 때 상위 프로세스에 전송되지 않았음을 의미합니다.
SEXECED | 0x00200000 | 프로세스가 수행되었음을 의미합니다.
SJOBSESS | 0x00400000 | 현재 세션에서 작업 제어가 사용되었음을 의미합니다.
SJOBOFF | 0x00800000 | 프로세스가 작업 제어의 구속을 벗어났음을 의미합니다.
PSIGDELIVERY | 0x01000000 | 프로세스가 프로그램 확인 처리기에 의해 사용됨을 의미합니다.
SRMSHM | 0x02000000 | 프로세스가 exit 서브루틴을 호출하는 동안 공유 메모리를 제거하였음을 의미합니다.
SSLOTFREE | 0x04000000 | 프로세스 슬롯이 사용 가능함을 의미합니다.
SNOMSG | 0x08000000 | 더 이상의 uprintf 서브루틴 메세지가 없음을 의미합니다.

F
(-l,l 플래그) 프로세스 및 스레드와 관련된 더 중요한 F 필드 플래그(16진 및 부가 플래그) 중 몇 가지가 다음에 있습니다.

F 필드 테이블
플래그 | 16진 값 | 정의
SLOAD | 0x00000001 | 프로세스가 코어 메모리에서 작동 중임을 의미합니다.
SNOSWAP | 0x00000002 | 프로세스가 swap out될 수 없다는 것을 의미합니다.
STRC | 0x00000008 | 프로세스가 추적되고 있음을 의미합니다.
SKPROC | 0x00000200 | 커널 프로세스를 의미합니다.
SEXIT | 0x00010000 | 프로세스가 종료 중임을 의미합니다.
SEXECED | 0x00200000 | 프로세스가 수행되었음을 의미합니다.
SEXECING | 0x01000000 | 프로세스가 수행 중(exec 수행 중)임을 의미합니다.
TKTHREAD | 0x00001000 | 스레드가 커널 전용 스레드임을 의미합니다.

주: /usr/include/sys/proc.h와 /usr/include/sys/thread.h 파일에서 각각 p_flags 필드와 t_flags 필드를 참조하면 모든 프로세스와 스레드 플래그의 정의를 볼 수 있습니다.
LIM
(v 플래그) 사용된 메모리에 대한 소프트 한계가 setrlimit 서브루틴을 호출하여 지정됩니다. 한계가 지정되지 않으면, xx로 표시됩니다. 한계가 시스템 한계로 설정되면(무한정), UNLIM값이 표시됩니다.
NI
(-l, l 플래그) 실행 우선순위 값; sched other 방침을 위한 우선순위 계산에 사용됩니다.
PID
(모든 플래그)프로세스의 프로세스 ID.
PGIN
(v 플래그) 코어 메모리로 로드되지 않은 페이지를 프로세스가 참조하는 경우에 발생하는 디스크 I/O 의 번호.
PPID
(-f, l 및 -l 플래그) 상위 프로세스의 프로세스 ID.
PRI
(-l, l 플래그) 프로세스나 커널 스레드의 우선순위; 번호가 높을수록 우선순위가 낮습니다.
RSS
(v 플래그) 프로세스의 실제 메모리(상주 집합) 크기(1 KB 단위).
S
(-l, l 플래그) 프로세스 또는 커널 스레드의 상태.
프로세스의 경우:
O
존재하지 않음
A
사용 중
W
교체된
I
유휴(시작을 위한 대기)
Z
취소
T
중지
커널 스레드의 경우
O
존재하지 않음
R
수행 중
S
휴면
W
교체된
Z
취소
T
중지
SC
(-o THREAD 플래그) 프로세스 또는 커널 스레드의 서스펜드 계수. 프로세스의 경우, 서스펜드 계수는 커널 스레드 서스펜드 계수의 합계로 정의됩니다.
SCH
(-o THREAD 플래그) 커널 스레드의 스레드 정책. 정책 sched_other, sched_fifo 및 sched_rr은 각각 0, 1, 2를 사용해서 표시됩니다.
SIZE
(v 플래그) 프로세스 데이터 섹션의 가상 크기(1 KB 단위).
SSIZ
(s 플래그) 커널 스택의 크기. 이 값은 다중 스레드 프로세스의 경우 항상 0입니다.
STAT
(s, u, v 플래그) 다음과 같은 프로세스 상태를 포함하고 있습니다.
0
존재하지 않음
A
사용 중
I
중간
Z
취소
T
중지
K
사용 가능한 커널 프로세스
STIME
(-f 및 u 플래그) 프로세스의 시작 시간. LANG 환경 변수는 이 필드의 모양을 제어합니다.
SZ
(-l, l 플래그) 프로세스 코어 이미지의 1 KB 단위 크기
THCNT
(-o thcount 플래그) 프로세스가 소유한 커널 스레드의 수
TID
(-o THREAD 플래그) 커널 스레드의 스레드 ID
TIME
(모든 플래그) 프로세스에 대한 총 수행 시간
TRS
(v 플래그) 텍스트의 상주 집합(실제 메모리)의 크기
TSIZ
(v 플래그) 텍스트(공유 프로그램) 이미지의 크기
TTY
(모든 플래그) 프로세스를 위한 제어 워크스테이션
-
프로세스는 워크스테이션과 연관되어 있지 않습니다.
?
알려지지 않음.
Number
TTY 번호. 예를 들면, 항목 2는 TTY2를 의미합니다.
UID
(-f, -l 및 l 플래그) 프로세스 소유자의 사용자 ID. 로그인 이름이 -f 플래그하에서 인쇄됩니다.
USER
(u 플래그) 프로세스 소유자의 로그인 이름
WCHAN
(-l flag) 프로세스 또는 커널 스레드가 대기 중이거나 휴면 중인 이벤트. 커널 스레드의 경우, 이 필드는 커널 스레드가 수행 중일 때 공백입니다. 프로세스의 경우, 하나의 커널 스레드가 휴면 중일 때 대기 채널이 휴면 중인 커널 스레드의 대기 채널로 정의되며 그렇지 않는 경우에는 별표가 표시됩니다.
WCHAN
(l 플래그) 프로세스가 대기 중인 이벤트(시스템 주소). 숫자 출력이 요청되지 않으면, 주소를 분류하는 기호가 선택됩니다.
%CPU
(u and v 플래그) 프로세스 시작 이후에 프로세스가 CPU를 사용한 시간의 백분율. 값은 프로세스에서 CPU를 사용한 시간을 프로세스의 경과 시간으로 나누어 계산됩니다. 멀티프로세서 환경에서는 같은 프로세스에 있는 여러 스레드가 여러 CPU에서 동시에 수행될 수 있기 때문에 값을 사용 가능한 CPU 수로 더 나눌 수 있습니다(이 데이터가 계산된 시간 기준은 다양하므로, 모든 %CPU 필드의 합계가 100%를 초과할 수 있습니다).
%MEM
(u, v 플래그) 이 프로세스에 의해 사용된 실제 메모리 비율
종료되어 이제는 프로세스를 기다리지 않는 상위가 있는 프로세스는 . 종료 시도가 방해된 프로세스는 . ps 명령은 프로세스가 메모리나 교환 영역에 의해 작성되었을 때 주어진 파일 이름이나 인수의 판별을 시도합니다.
주:
ps 명령이 수행되는 동안 프로세스가 변경될 수 있습니다. 기능정지(defunct) 프로세스에 표시된 일부 데이터는 적절하지 않습니다.
ps 프로그램은 프로세스가 작성되었을 때 사용된 파일 이름과 인수를 검색하기 위해 메모리를 검사합니다. 그러나 프로세스가 정보를 손상시킬 수 있으므로 파일 이름과 인수를 재생하는 이 방법은 신뢰할 수 없습니다.
파일
다음과 같은 플래그 앞에는 -(빼기 기호)가 옵니다.
-A 모든 프로세스에 대한 정보를 표준 출력에 씁니다.
-a 세션 리더 및 터미널과 관련되지 않은 프로세스를 제외한 모든 프로세스에 관한 정보를 표준 출력에 기록합니다.
-c Clist Clist 변수에 나열된 작업부하 관리 클래스에 할당된 프로세스에 대한 정보만을 표시합니다. Clist 변수는 클래스 이름을 쉼표로 구분한 리스트이거나 쉼표나 하나 이상의 공간 또는 그 두 가지로 구분되는 큰 따옴표(" ") 안에 있는 클래스 이름의 리스트입니다.
-d 세션 리더를 제외한 모든 프로세스에 관한 정보를 표준 출력에 기록합니다.
-e 커널 프로세스를 제외한 모든 프로세스에 대한 정보를 표준 출력에 씁니다.
-F Format -o Format과 동일
-f 전체 리스트를 작성합니다.
-G Glist Writes information to standard output only about processes that are in the process groups listed for the Glist variable. Glist 변수는 프로세스 그룹 식별자 중 쉼표로 구분된 리스트이거나, 큰 따옴표(" ")로 묶인 프로세스 그룹 식별자의 리스트이며, 쉼표 또는 하나 이상의 공백으로 구분됩니다. 이 플래그는 -gGlist 플래그와 동일합니다.
-g Glist 이 플래그는 -GGlist 플래그와 동일합니다.
-k 커널 프로세스를 나열합니다.
-l 긴 리스트를 작성합니다. l 플래그도 참조하십시오.
-m 프로세스와 마찬가지로 커널 스레드도 나열합니다. 프로세스에 대한 출력 행 뒤에는 각각의 커널 스레드에 대한 추가적인 출력 행이 옵니다. 이 플래그는 해당 -o Format 플래그가 지정되지 않으면 스레드 고유의 필드(bnd, scount, sched, thcount 및 tid)를 표시하지 않습니다.
-N 스레드 통계를 축적하지 않습니다. 이 플래그로, ps는 프로세스의 스레드 체인을 통해 트래버스하지 않고 간단히 얻을 수 있는 통계를 보고합니다.
-n NameList 디폴트를 대신하는 대체 시스템 이름 리스트 파일을 지정합니다. 정보가 커널에 직접 제공되지 않으므로 운영 시스템은 -n 플래그를 사용하지 않습니다.
-o Format Format 변수에 의해 지정된 형식으로 정보를 표시합니다. 다중 필드 지정자는 Format 변수에 대해 지정될 수 있습니다. Format 변수는 필드 식별자 중 쉼표로 구분된 리스트이거나, " "(큰 따옴표)로 묶거나 쉼표 또는 하나 이상의 공백, 또는 둘 다로 구분된 리스트 중 하나입니다.
각각의 필드 지정자에는 디폴트 헤더가 있습니다. 디폴트 헤더는 헤더의 사용자 정의 텍스트가 뒤에 오는 =(등호)를 추가하여 겹쳐쓸 수 있습니다. 필드는 명령행에 지정된 순서대로 열 형식으로 작성됩니다. 필드 폭은 최소한 디폴트나 사용자 정의 헤더 텍스트만큼으로 시스템에서 지정됩니다. 헤더 텍스트가 널이면(-o user=가 지정된 경우와 마찬가지로), 필드 폭은 최소한 디폴트 헤더 텍스트 폭 이상입니다. 모든 헤더 필드가 널이면, 헤더 행은 작성되지 않습니다.
다음과 같은 필드 지정자가 시스템에 의해 인식됩니다.
args
수행 중인 명령의 전체 이름을 의미합니다. 절단이 일어나더라도 모든 명령행 인수가 포함됩니다. 이 필드에 대한 디폴트 헤더는 COMMAND입니다.
bnd
프로세스나 커널 스레드가 바운드되는 프로세서(있는 경우). 이 필드에 대한 디폴트 헤더는 BND입니다.
class
프로세스에 지정된 작업부하 관리 클래스로 표시합니다. 이 필드에 대한 디폴트 헤더는 CLASS입니다.
comm
수행 중인 명령의 축약형 이름을 의미합니다. 명령행 인수는 포함되지 않습니다. 이 필드에 대한 디폴트 헤더는 COMMAND입니다.
cpu
프로세스 스케줄링 우선순위를 판별합니다. 프로세스나 스레드의 CPU 사용은 시스템 시계가 작동될 때마다 증가하며, 프로세스나 스레드는 수행 중인 것으로 나타납니다. 값은 스케줄러에 의해 초당 1/2씩 감소됩니다. sched_other 정책의 경우, 큰 값은 CPU 프로세스를 집중시켜 프로세스 우선순위가 낮아지는 반면, 작은 값은 I/O 프로세스를 집중시켜 프로세스 우선순위가 높아집니다.
etime
프로세스가 시작된 이후의 경과 시간을 의미합니다. 경과된 시간은 다음과 같은 형식으로 표시됩니다.
[[ dd-]hh:]mm:ss
이 경우, dd는 일 수, hh는 시간의 수, 그리고 mm은 분의 수를 지정하고, ss는 초의 수를 지정합니다. 이 필드에 대한 디폴트 헤더는 ELAPSED입니다.
group
프로세스의 유효 그룹 ID를 의미합니다. 텍스트 그룹 ID가 표시됩니다. 텍스트 그룹 ID를 획득할 수 없는 경우, 10진 표현이 사용됩니다. 이 필드에 대한 디폴트 헤더는 GROUP입니다.
nice
프로세스 실행 우선순위 값의 10진 값을 의미합니다. 이 필드에 대한 디폴트 헤더는 NI입니다.
-o Format (계속)
pcpu
비율로 표현된 사용 가능한 CPU 시간에 대해 사용된 CPU 시간의 비율을 의미합니다. 이 필드에 대한 디폴트 헤더는 %CPU입니다.
pgid
프로세스 그룹 ID의 10진 값을 의미합니다. 이 필드에 대한 디폴트 헤더는 PGID입니다.
pid
프로세스 ID의 10진 값을 의미합니다. 이 필드에 대한 디폴트 헤더는 PID입니다.
ppid
상위 프로세스 ID의 10진 값을 의미합니다. 이 필드에 대한 디폴트 헤더는 PPID입니다.
rgroup
프로세스의 실제 그룹 ID를 의미합니다. 텍스트 그룹 ID가 표시됩니다. 텍스트 그룹 ID를 획득할 수 없는 경우, 10진 표현이 사용됩니다. 이 필드에 대한 디폴트 헤더는 RGROUP입니다.
ruser
프로세스의 실제 사용자 ID를 의미합니다. 텍스트 사용자 ID가 표시됩니다. 텍스트 사용자 ID를 획득할 수 없는 경우, 10진 표현이 사용됩니다. 이 필드의 디폴트 헤더는 RUSER입니다.
scount
커널 스레드에 대한 서스펜드 계수를 의미합니다. 이 필드에 대한 디폴트 헤더는 SC입니다.
sched
커널 스레드에 대한 스케줄링 정책을 의미합니다. 이 필드에 대한 디폴트 헤더는 SCH입니다.
tag
작업 부하 관리자 응용프로그램 태그를 나타냅니다. 이 필드의 디폴트 헤더는 TAG입니다. 태그는 최대 30자의 문자열로, ps에 의해 표시될 때 절단될 수 있습니다. 태그를 설정하지 않은 프로세스의 경우에는 이 필드가 하이픈(-)으로 표시됩니다.
thcount
프로세스가 소유한 커널 스레드의 수를 의미합니다. 이 필드에 대한 디폴트 헤더는 THCNT입니다.
-o Format (계속)
THREAD
다음과 같은 필드를 의미합니다.
사용자 이름(uname 필드)
프로세스 및 프로세스의 상위 프로세스 ID(pid 및 ppid 필드)
스레드의 커널 스레드 ID(tid 필드)
프로세스나 커널 스레드의 상태(S 필드)
프로세스나 커널 스레드의 CPU 사용률(C 필드)
프로세스나 커널 스레드의 우선순위(PRI 필드)
프로세스나 커널 스레드의 일시중단 계수(scount 필드)
프로세스이나 커널 스레드의 대기 채널(WCHAN 필드)
프로세스이나 커널 스레드의 플래그(F 필드)
프로세스의 제어 터미널(tty 필드)
프로세스나 커널 스레드를 바인드할 CPU (bnd 필드)
프로세스에서 실행할 명령(comm 필드)
스레드는 -m 플래그가 함께 지정되지 않으면, 실제로 -o THREAD 플래그로 표시되지 않습니다.
tid
커널 스레드의 스레드 ID를 의미합니다. 이 필드에 대한 디폴트 헤더는 TID입니다.
time
프로세스가 시작된 이후 누적된 CPU 시간을 의미합니다. 그 시간은 다음과 같은 형식으로 표시됩니다.
[ dd-]hh:mm:ss
이 경우, dd는 일 수, hh는 시간의 수, 그리고 mm은 분의 수를 지정하고, ss는 초의 수를 지정합니다. 이 필드의 디폴트 헤더는 TIME입니다.
tty
프로세스의 제어 터미널 이름을 의미합니다. 이 필드에 대한 디폴트 헤더는 TT입니다.
user
프로세스의 유효 사용자 ID를 의미합니다. 텍스트 사용자 ID가 표시됩니다. 텍스트 사용자 ID를 획득할 수 없는 경우, 10진 표현이 사용됩니다. 이 필드에 대한 디폴트 헤더는 USER입니다.
vsz
가상 메모리에 있는 프로세스의 10진 정수인 킬로바이트 단위 크기를 의미합니다. 이 필드에 대한 디폴트 헤더는 VSZ입니다.
-o Format (계속) 그렇지 않은 경우, 지정된 형식의 다중 필드는 Format 변수로 표시될 수 있으며, 필드 설명자를 포함하고 있습니다. 필드 설명자가 Format 변수에서 사용되는 경우에는 반드시 큰 따옴표(" ")로 묶어야 합니다. 다음 테이블에서는 필드 설명자가 필드 지정자에 대하여 어떻게 상응되는지를 보여줍니다.
필드 필드 디폴트
설명자 지정자 헤더
%a args COMMAND
%c comm COMMAND
%t etime ELAPSED
%G group GROUP
%n nice NI
%C pcpu %CPU
%r pgid PGID
%p pid PID
%P ppid PPID
%g rgroup RGROUP
%u ruser RUSER
%x time TIME
%y tty TTY
%U user USER
%z vsz VSZ
-p Plist Plist 변수에 지정된 프로세스 번호가 있는 프로세스에 대한 정보만 표시합니다. Plist 변수는 프로세스 ID 번호 중 쉼표로 구분된 리스트이거나, 큰 따옴표(")로 묶여 있거나 하나 이상의 쉼표나 공백 또는 둘 다로 구분되는 프로세스 ID 번호 리스트 중 하나입니다.
-t Tlist Tlist 변수에 나열된 워크스테이션과 관련된 프로세스에 대한 정보만 표시합니다. Tlist 변수는 워크스테이션 식별자 중 쉼표로 구분된 리스트이거나 큰따옴표(" ")로 묶이고 쉼표나 하나 이상의 공백 또는 둘 모두로 구분되는 워크스테이션 식별자 리스트 중 하나입니다.
-U Ulist Ulist 변수에 대해 지정된 사용자 ID 번호 또는 로그인 이름을 갖는 프로세스에 대한 정보만 표시합니다. Ulist 변수는 사용자 ID 중 쉼표로 구분된 리스트이거나, 큰 따옴표(")로 묶여 있고 쉼표와 하나 이상의 공백으로 구분되는 사용자 ID 리스트 중 하나입니다. 리스트에서 ps 명령은 -f 플래그가 사용되지 않으면 숫자 사용자 ID를 표시한 다음, 로그인 이름을 표시합니다. 이 플래그는 -u Ulist 플래그와 동일합니다. u 플래그도 참조하십시오.
-u Ulist 이 플래그는 -U Ulist 플래그와 동일합니다.
옵션
다음 옵션의 앞에는 -(빼기 기호)가 오지 않습니다.
a 터미널들 간의 모든 프로세스에 대한 정보를 표시합니다(일반적으로, 사용자의 고유 프로세스만 표시됩니다).
c 명령 매개변수가 아닌 사용통계의 목적으로 시스템에 내부적으로 보관된대로 명령 이름을 표시하며, 이 이름은 프로세스 주소 공간에 보관됩니다.
e 최대 80문자로 명령에 대한 매개변수는 물론 환경을 표시합니다.
ew e 플래그로부터 표시장치를 하나의 추가 행으로 랩합니다.
eww e 플래그로부터 표시장치를 필요한 만큼 여러 번 랩합니다.
g 모든 프로세스를 표시합니다.
l F, S, UID, PID, PPID, C, PRI, NI, ADDR, SZ, PSS, WCHAN, TTY, TIME, CMD 필드가 있는 긴 리스트를 표시합니다.
n 숫자 출력을 표시합니다. 긴 리스트에서, WCHAN 필드는 기호가 아닌 숫자로 인쇄됩니다. 사용자 리스트에서, USER 필드는 UID 필드로 대체됩니다.
s 각 프로세스(시스템 관리자가 사용하기 위한)의 커널 스택 크기(SSIZ)를 기본 출력 형식으로 표시합니다. 이 값은 다중 스레드 프로세스의 경우 항상 0입니다.
t Tty ps 명령으로 제어 tty가 인쇄되도록 지정할 Tty 변수의 값인 프로세스를 표시합니다(예: 터미널 /dev/tty/0의 경우 0,/dev/lft0의 경우 lft0, /dev/pts/2의 경우 pts/2).
u 사용자 위주의 출력을 표시합니다. USER, PID, %CPU, %MEM, SZ, RSS, TTY, STAT,STIME, TIME 및 COMMAND 필드가 포함됩니다.
v PGIN, SIZE, RSS, LIM, TSIZ, TRS, %CPU, %MEM 필드를 표시합니다.
w 출력을 위한 광범위한 열 형식(80열이 아닌 132열)을 지정합니다. 반복되는 경우(예를 들면, ww), 일정 범위의 출력을 사용합니다. 이 정보는 인쇄할 long 명령의 수를 결정하는 데 사용됩니다.
x 터미널 없는 프로세스를 표시합니다.
종료 상태
이 명령은 다음의 값을 리턴합니다.
0 성공적으로 완료되었습니다.
>0 오류가 발생했습니다.
예제
모든 프로세스를 표시하려면, 다음과 같이 입력하십시오.
ps -e -f
특정 사용자가 소유한 프로세스를 나열하려면, 다음과 같이 입력하십시오.
ps -f -l -ujim,jane,su
/dev/console 및 /dev/tty1 tty와 관련된 프로세스를 나열하려면, 다음과 같이 입력하십시오.
ps -t console,tty/1
터미널과 관련이 없는 프로세스를 나열하려면, 다음과 같이 입력하십시오.
ps -t -
필드 지정자를 사용해서 지정된 형식을 표시하려면, 다음과 같이 입력하십시오.
ps -o ruser,pid,ppid=parent,args
출력은 다음과 같습니다.
RUSER PID parent COMMAND
helene 34 12 ps -o ruser,pid,ppid=parent,args
필드 설명자를 사용해서 지정된 형식을 표시하려면, 다음과 같이 입력하십시오.
ps -o "< %u > %p %y : %a"
출력은 다음과 같습니다.
< RUSER > PID TT : COMMAND
< helene > 34 pts/3 : ps -o < %u > %p %y : %a
현재 터미널에 의해 제어된 프로세스 및 커널 스레드에 대한 정보를 표시하려면, 다음과 같이 입력하십시오.
ps -lm
출력은 다음과 유사합니다.
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
240003 A 26 8984 7190 1 60 20 2974 312 pts/1 0:00 -ksh
400 S - - - 1 60 - - - - - -
200005 A 26 9256 8984 15 67 20 18ed 164 pts/1 0:00 ps
0 R - - - 15 67 - - - - - -
모든 프로세스 및 커널 스레드에 대한 정보를 표시하려면, 다음과 같이 입력하십시오.
ps -emo THREAD
출력은 다음과 유사합니다.
USER PID PPID TID S C PRI SC WCHAN FLAG TTY BND CMD
jane 1716 19292 - A 10 60 1 * 260801 pts/7 - biod
- - - 4863 S 0 60 0 599e9d8 8400 - - -
- - - 5537 R 10 60 1 5999e18 2420 - 3 -
luke 19292 18524 - A 0 60 0 586ad84 200001 pts/7 - -ksh
- - - 7617 S 0 60 0 586ad84 400 - - -
luke 25864 31168 - A 11 65 0 - 200001 pts/7 - -
- - - 8993 R 11 65 0 - 0 - - -
파일
/usr/bin/ps ps 명령을 포함하고 있습니다.
/etc/passwd 사용자 ID 정보를 지정합니다.
/dev/pty* 워크스테이션(PTY) 이름을 의미합니다.
/dev/tty* 워크스테이션(TTY) 이름을 의미합니다.
관련 정보
kill 명령, nice 명령