Information Technology

리눅스 핵심 명령어 PS 알아보기

coinAA 2021. 10. 25.

 

목차

     

    리눅스 PS 명령어란?

    ps는 process status의 줄인말이며, 현재 실행중인 프로세스 목록과 상태를 출력하여 보여주는 기능을 한다.
    윈도우의 작업 관리자와 비슷하다고 생각하면 된다.

     

    PS 명령어 사용법

    ps의 옵션은 전통적인 유닉스인 System V, BSD, GNU에 따라 결과가 다르게 나타나고 표기법에도 차이를 보인다.
    옵션 사용 시 System V 계열은 대시(dash, -)를 사용하고 BSD 계열은 대시(-)를 사용하지 않고 GNU에서의 옵션 표기는 두 개의 대시(--)를 사용하기도 한다. 원하는 프로세스의 상태를 출력하기 위해서 정확한 옵션 값을 사용하여야 한다.

    ps 옵션 사용법
    $ps [option]

    ps 도움말
    $ps --help all

    자주 사용되는 ps 명령어 옵션 사용 예시

    $ ps -ef : 모든 프로세스를 풀 포맷으로 출력

    $ ps -ef | grep '프로세스명' : '프로세스명'의 프로세스 구동 확인
    ex) $ ps -ef | grep mysqld = 모든 프로세스 중에 mysqld를 풀 포맷으로 출력

    $ ps aux : 실행중인 모든 프로세스 확인
    $ ps auxf : 실행 중인 프로세스를 트리구조로 출력
    $ ps auxfww : 실행 중인 프로세스를 트리구조 + 모든 실행 중인 옵션 확인 가능

     

    $ps ax

    시스템의 모든 프로세스를 BSD 포맷으로 출력한다.

    ps ax 결과

     

    $ps aux

    시스템의 동작중인 모든 프로세스를 소유자 정보와 함께 다양한 정보를 출력한다.

    ps aux 결과

    $ps aux | grep mysqld

    특정 프로세스에 대해서 보고 싶을 경우 'grep'을 함께 활용한다.
    아래 그림에서는 mysqld을 찾아 출력해주는 명령을 예시로 들었다.

    $ps aux grep mysqld 결과

    $ps -ef

    시스템에 동작죽인 모든 프로세스를 자세하게 출력한다.

    $ps -ef 결과

    $ps -el

    긴 포맷으로 출력하여 보고 싶을 경우 -l 명령어를 사용한다. ef 명령에서 보이지 않았던 많은 정보들이 출력된다.

    $ps -el 결과

     

    ps 주요 옵션

    Option 설명
    -A 모든 프로세스를 출력
    -a 세션 리더을 제외하고 데몬 프로세스처럼 터미널에 종속되지 않은 모든 프로세스를 출력
    -e 커널 프로세스를 제외한 모든 프로세스를 출력(UID, PID, PPID등이 함께 표시)
    -f full 포맷 출력 
    -l 긴 포맷으로 출력
    (프로세스의 정보를 길게 보여주는 옵션으로 우선순위와 관련된 PRI와 NI값을 확인 가능)
    -o 값 출력 포맷을 지정하는 옵션으로 값으로는 pid, tty, time, cmd 등을 지정하여 출력
    -M 64비트 프로세스 출력
    -m 프로세스들 뿐만 아니라 커널 스레드들 출력
    -p 특정 PID를 지정할 때 사용
    -r 현재 실행 중인 프로세서를 출력
    u 프로세스의 소유자를 기준으로 출력
    x 특정 사용자의 프로세스 정보를 확인할 때 사용
    사용자를 지정하지 않으면 현재 사용자를 기준으로 정보를 출력
    -x 로그인 상태에 있는 동안 아직 완료되지 않은 프로세서들을 출력

     

    ps 기본 옵션

    더보기
    Option 설명
    -A, -e  모든 프로세스
    -a 세션 리더를 제외하고 모두 tty 포함
    a 다른 사용자를 포함하여 모두 tty
    -d 세션 리더를 제외한 모든 항목
    -N, --deselect 선택을 무효화 하다.
    r 실행 중인 프로세스만
    T 이 터미널의 모든 프로세스
    x 제어하지 않는 프로세스

     

     

    ps 목록별 선택 옵션

    더보기
    Option 설명
    -C <command>  명령 이름
     -G, --Group <GID> 실제 그룹 ID 또는 이름
    -g, --group 세션 또는 유효 그룹 이름
    -p, p, --pid   프로세스 ID
    --ppid 상위 프로세스 ID
    -q, q --quick-pid  프로세스 ID(빠른 모드)
    -s, --sid 세션 ID
    -t, t, --tty 터미널
    -u, U, --user 유효 사용자 ID 또는 이름
    -U, --user 실제 사용자 ID 또는 이름

     

     

    ps 출력 형식 옵션

    더보기
    Option 설명
    -F 추가 가득 참
    -f 전체 형식(명령줄 포함)
    f, --forest 아스키의 프로세스 트리
    -H 프로세스 계층 표시
    -j 작업 형식
    j BSD job control format
    l BSD 완전 포맷
    -M, Z  보안 데이터 추가(SELinux용)
    -O <format>  기본 열이 미리 로드됨
    O <format>를 -O로 BSD 퍼스낼리티로 사용
    -o, o  --format <format>

     

     

    ps 사용자 정의 형식 옵션

    더보기
    Option 설명
    s 신호 형식
    u 사용자 지향 형식
    v 가상 메모리 형식
    X 레지스터 형식
    -y 플래그 표시 안 함, rss vs. addr 표시(-l과 함께 사용)

     

    댓글