시스템(Linux)

리눅스 프로세스 상태를 확인하는 명령어인 ps에 대해 알아보겠습니다.

forward error correction Circle 2024. 9. 21. 16:49
반응형

Ⅰ. ps 명령어란 ?

리눅스(Linux) 및 유닉스(Unix) 계열 운영체제에서 실행 중인 프로세스를 확인하는 데 사용됩니다. 시스템에서 현재 실행 중인 프로세스들의 정보를 출력하며, 사용자는 프로세스 상태, PID(프로세스 ID), CPU 사용률 등 다양한 프로세스 관련 정보를 볼 수 있습니다.

Ⅱ. ps 명령어 기본 사용법

ps 명령어는 여러 옵션을 제공하며, 기본적으로는 터미널에서 다음과 같이 사용됩니다:

[root@feccle ~ ] # ps [옵션]

 

* 옵션 설명

옵션명 요약 설명
-e 모든 프로세스 보기 POSIX 표준에 따른 옵션으로 모든 프로세스 보여줍니다.
-A 모든 프로세스 보기 -e 와 동일한 결과를 출력하는 BSD 스타일 옵션
-f 풀 포맷 프로세스 목록을 출력하며, 부모 프로세스 ID, 프로세스 실행 사용자 등 더 많은 정보출력
-u [사용자 이름] 특정 사용자 프로세스 보기 특정 사용자가 실행한 프로세스만 출력
-p [PID] 특정 PID의 프로세스 보기 특정 PID의 프로세스만 출력
-C [명령어 이름] 특정 명령어의 프로세스 보기 특정 명령어로 실행중인 프로세스만 출력
aux BSD 스타일 출력 BSD 스타일로 실행 중인 모든 프로세스를 출력하며, 사용자, CPU 및 메모리 사용률, 실행된 명령어
-ef UNIX 스타일 전체 루력 유닉스 스타일로 모든 프로세스를 상세하게 출력하며, 프로세스 경로, PID, PPID 등 많은 정보 출력
-o [필드] 특정 필드만 출력하도록 사용자 정의 ps -o pid,comm,%cpu
PID, 명령어 이름(comm), CPU 사용률을 출력
-l 긴 형식 출력 우선 순위(nice), 스택 크기 등 상세한 정보를 보여줍니다.
-H 트리 형식 출력 트리 구조로 프로세스 간의 계층 관계 출력
--sort 정렬 ps aux --sort=-%cpu
출력 결과를 특정 필드를 기준으로 정렬합니다.
CPU 사용률 또는 메모리 사용률을 기준으로 정렬
-N 지정된 조건을 제외 ps -N -u root
특정 조건에 맞는 프로세스를 제외한 나머지 프로세스를 출력
root 사용자가 아닌 프로세스를 출력
--forest 계층 구조로 보기 프로세스 계층 구조를 시각적으로 트리 구조로 출력합니다. 부모-자식 관계 출력
-T 현재 터미널의 프로세스 보기 현재 터미널에서 실행 중인 모든 프로세스를 표시

 

Ⅲ. ps 명령어 사용 방법

ⅰ. ps: 기본적으로 ps 명령어를 실행하면, 현재 세션에 속한 프로세스 목록만을 출력합니다.

[root@feccle ~ ] # ps

* 주요 필드 설명

①PID: 프로세스 ID
②TTY: 터미널 타입
③TIME: CPU 사용 시간
④CMD: 실행 중인 명령어

 

ⅱ. ps -e 또는 ps -A: 시스템에서 실행 중인 모든 프로세스를 출력합니다.

[root@feccle ~ ] # ps -e
            or
[root@feccle ~ ] # ps -A


ⅲ. ps -f: 풀 포맷으로 출력해 추가 정보를 보여줍니다. 이 명령은 프로세스의 부모 PID(PPID)나 실행한 사용자를 포함한 정보를 보여줍니다.

[root@feccle ~ ] # ps -f

 

ⅳ. ps aux: BSD 스타일로 모든 프로세스를 출력하며, 각 프로세스의 자세한 정보를 포함합니다. ps aux는 일반적으로 많이 사용되는 명령어로, CPU와 메모리 사용량까지 표시됩니다.

[root@feccle ~ ] # ps aux


ⅴ. ps -ef: 유닉스 및 리눅스 스타일의 모든 프로세스를 상세하게 출력합니다. 여기서 -e는 모든 프로세스를, -f는 풀 포맷으로 출력함을 의미합니다.

[root@feccle ~ ] # ps -ef


* 주요 필드 설명
① PID: 프로세스 ID
② PPID: 부모 프로세스 ID
③ TTY: 터미널 종류 (process가 연결된 터미널)
④ %CPU: CPU 사용률
⑤ %MEM: 메모리 사용률
⑥ VSZ: 가상 메모리 크기 (KB 단위)
⑦ RSS: 실제 메모리 크기 (KB 단위)
⑧ STAT: 프로세스 상태 (실행 중, 대기 중 등)
⑨ START: 프로세스가 시작된 시간
⑩ TIME: CPU가 프로세스에 사용한 시간
⑪ COMMAND: 프로세스를 실행한 명령어


ⅵ. ps -p [PID]: 특정 PID의 프로세스를 확인합니다.

[root@feccle ~ ] # ps -p 1653

 


ⅶ. ps -u [username]: 특정 사용자가 실행한 프로세스만을 출력합니다.

[root@feccle ~ ] # ps -u root

 


ⅷ. ps -C [command]: 특정 명령어로 실행 중인 프로세스를 찾습니다.

[root@feccle ~ ] # ps -C httpd

 

 

ⅸ. grep과 함께 사용하여 특정 프로세스를 찾을 수 있습니다.

[root@feccle ~ ] # ps aux | grep httpd

 

 

반응형