본문 바로가기
리눅스(Linux)

[Linux] 리눅스 ps 명령어 (프로세스 상태 확인)-임시

by virusuk 2023. 3. 12.
반응형

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

 

ps 란?

ps는 "process status"의 약자로 프로세스 상태를 나타냅니다. ps 명령어를 사용하면 백그라운드 프로세스가 어떤 상태인지 자세히 알아볼 수 있습니다.

 

ps 사용법

$ps [options]

 

ps 명령어는 Linux 시스템에서 실행 중인 프로세스에 대한 정보를 표시합니다.

  • PID - 고유 프로세스 ID
  • TTY - 사용자가 현재 로그인한 터미널 유형입니다.
  • TIME - 해당 프로세스가 처음 실행되기 시작한 이후로 소비한 CPU의 시간입니다.
  • CMD - 해당 프로세스를 시작하는데 사용되는 명령어입니다.

 

ps 옵션

옵션 내용
-A, -e 모든 프로세스를 출력합니다.
-d 세션 리더를 제외한 모든 프로세스를 터미널에 표시합니다.
-f 명령줄을 포함한 전체 포맷으로 보여줍니다.
-g 지정한 세션 및 그룹 이름에 대한 정보를 보여줍니다.
-j 세션 ID 및 프로세스 그룹 ID의 잡(job) 포맷을 보여줍니다.
-l 상세한 목록을 표시합니다.
n 사용자의 정보(uid와 wchan)를 숫자 값으로 보여줍니다.
-w 출력 결과를 너비에 맞게 자세하게 보여줍니다.
-H 프로세스를 계층(hierarchy)으로 보여줍니다.

 

ps 명령어 예시

  • 실행 중인 모든 프로세스 보기
$ ps -e
$ ps -A

 

  • 실행 중인 모든 프로세스의 전체 형식 목록 보기
$ ps -efL

 

  • ps 명령어와 함께 grep을 사용하여 특정 프로세스의 상태를 검색 및 확인할 수 있습니다.
    "httpd" 서버가 실행 중인지 확인하기 위한 명령어는 다음과 같습니다.
$ ps -efL | grep httpd

 

  • 프로세스 트리(tree)를 보려면, 프로세스 내에서 여러 프로세스가 실행 중일 수 있으며 다음과 같이 명령어를 사용하여 "sshd" 프로세스 트리를 볼 수 있습니다.
$ ps -ejH | grep sshd

 

  • 가장 유용하게 사용되는 ps 명령어는 ps aux 입니다. ps aux는 사용자가 실행되고 있는 프로세스에 대해 시스템의 현재 상태를 이해하는데 필요한 대부분의 정보를 표시합니다.
$ ps aux | more
------------------------------------------------------------------
USER  PID %CPU %MEM   VSZ   RSS  TTY   STAT START  TIME   COMMAND

%CPU - 해당 프로세스에서 사용하는 CPU 시간 (백분율)

%MEM - 해당 프로세스에서 사용하는 물리적 메모리 점유율 (백분율)

VSZ(Virtual Set siZe) - 프로세스에서 사용 중인 가상 메모리의 양을 표시

RSS(Resident Set Size) - 실제 사용중인 물리적 메모리 크기

TTY(TeleTYpewriter) - 프로세스가 연결된 터미널의 번호

START - 해당 프로세스가 시작된 날짜 또는 시간을 표시합니다.

TIME - 해당 프로세스에서 사용한 총 CPU 시간을 보여줍니다.

COMMAND - 해당 프로세스를 시작하는데 사용된 명령어입니다.

STAT - 프로세스의 상태를 표시합니다. STAT 필드의 상태 코드는 다음과 같습니다.

  • R - 실행 중 또는 실행 가능
  • S - 인터럽트 sleep. 즉, 이벤트가 완료되기를 기다리는 중
  • D - 중단할 수 없는 절전모드, 일반적으로 종료하려면 재부팅 및 문제를 해결해야 합니다.
  • Z: 좀비 프로세스. 즉, 종료된 프로세스
  • T: 중지됨, 일시 중지/중지된 프로세스

 

 

여기까지, 리눅스 ps명령어의 개념과 사용 예시에 대해 알아보았습니다.

반응형