Linux의 Ps 명령(프로세스 나열)

Linux의 Ps 명령(프로세스 나열)

2022-06-01 last update

7 minutes reading terminal ps
Linux에서 프로그램의 실행 사례를 프로세스라고 합니다.때로는 Linux 시스템에서 작업할 때 현재 실행 중인 프로세스를 알아야 할 수도 있습니다.실행 중인 프로세스에 대한 정보를 찾는 데 사용할 수 있는 명령이 많습니다. ps, pstree
, 가장 자주 사용하는 것은 top입니다.본고는 ps 명령을 사용하여 현재 실행 중인 프로세스를 표시하고 이 프로세스에 대한 정보를 표시하는 방법을 소개한다.

ps 명령 사용 방법

ps 명령의 일반 문법은 다음과 같다.
ps [OPTIONS]
은 역사와 호환성 때문에 ps 명령은 몇 가지 다른 유형의 옵션을 받아들인다.
  • UNIX 스타일 옵션, 앞에 대시가 있다.
  • BSD 스타일 옵션이며 대시가 없습니다.
  • GNU 길이 옵션, 앞에 두 개의 대시가 있습니다.
  • 의 서로 다른 옵션 유형은 혼합하여 사용할 수 있지만, 특정한 상황에서 충돌이 발생할 수 있으므로 한 가지 옵션 유형만 사용하는 것이 가장 좋다.BSD 및 UNIX 옵션은 그룹화할 수 있습니다.가장 간단한 형식에서, 만약 어떤 옵션도 사용하지 않는다면, ps은 현재 셸에서 실행 중인 프로세스, 셸 자체, 명령을 호출할 때 셸에서 실행되는 프로세스의 4열 정보를 최소한 두 개 출력할 것입니다.
    ps
    출력은 셸(bash)과 이 셸에서 실행되는 프로세스(ps, 입력한 명령)에 대한 정보를 포함합니다.
      PID TTY          TIME CMD
     1809 pts/0    00:00:00 bash
     2043 pts/0    00:00:00 ps
    
    네 열의 탭은 각각 PID, TTY, TIME, CMD입니다.
  • PID - 프로세스 ID. 일반적으로 ps 명령을 실행할 때 사용자가 찾는 가장 중요한 정보는 프로세스 PID입니다.PID를 이해하면 kill a malfunctioning process에 액세스할 수 있습니다.
    .
  • TTY - 프로세스 제어 단말기의 이름입니다.
  • TIME - 프로세스의 누적 CPU 시간은 분과 초 단위입니다.
  • CMD - 프로세스를 시작하는 명령의 이름입니다.
  • 위의 출력은 그다지 유용하지 않다. 왜냐하면 그것은 너무 많은 정보를 포함하지 않기 때문이다.ps 명령의 진정한 위력은 추가 옵션을 통해 시작됩니다.ps 명령은 특정한 프로세스와 프로세스에 대한 다양한 정보를 표시하는 데 사용할 수 있지만 일상적인 사용에는 소량의 옵션만 필요합니다.ps은 다음과 같은 옵션 조합에 가장 많이 사용됩니다. BSD 폼:
    ps aux
  • a 옵션은 ps에 모든 사용자의 프로세스를 표시합니다.터미널과 무관한 프로세스와 팀장 프로세스만 표시됩니다.
  • u은 사용자를 위한 형식으로 절차에 대한 상세한 정보를 제공합니다.
  • x 옵션은 ps에 제어 단말기가 없는 프로세스를 표시합니다.이것들은 주로 시작할 때와 running in the background시에 시작하는 프로세스이다
    .
  • 이 명령은 11열에 정보를 표시합니다. 이 열은 각각 USER, PID, %CPU, %MEM, VSZ, RSS, STAT, START, TTY으로 표시됩니다.
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.8  77616  8604 ?        Ss   19:47   0:01 /sbin/init
    root         2  0.0  0.0      0     0 ?        S    19:47   0:00 [kthreadd]
    ...
    
    TIME, CMD, PIDTTY의 라벨을 설명했습니다.다음은 기타 탭의 설명입니다.
  • TIME- 이 프로세스를 실행하는 사용자입니다.
  • CMD-cpu
    공정의 이용률.
  • USER - 프로세스의 상주 집합 크기는 컴퓨터의 물리 메모리의 백분율을 차지한다.
  • %CPU - 프로세스의 가상 메모리 크기(KiB 단위).
  • %MEM - 물리 memory의 크기
    프로세스가 사용 중입니다.
  • VSZ - 프로세스 상태 코드, 예를 들어 RSS(좀비), STAT(수면)과 Z(운행).
  • S- 명령이 시작된 시간입니다.
  • R 옵션은 START에 부모 프로세스의 트리 보기를 표시합니다.
    ps auxf
    f 명령은 출력을 정렬할 수 있습니다.예를 들어, memory usage에 따라 출력을 정렬합니다.
    , 사용:
    ps aux --sort=-%mem
    UNIX 양식: (adsbygoogle = window.adsbygoogle | [])푸시({});
    ps -ef
  • ps 옵션은 ps에 모든 프로세스를 표시합니다.
  • -e은 전체 형식 목록으로 절차에 대한 상세한 정보를 제공합니다.
  • 이 명령은 8열에 정보를 표시하는데 각각 ps, -f, UID, PID, PPID, CSTIME으로 표시됩니다.
    UID        PID  PPID  C STIME TTY          TIME CMD
    root         1     0  0 19:47 ?        00:00:01 /sbin/init
    root         2     0  0 19:47 ?        00:00:00 [kthreadd]
    ...
    
    에서 설명하지 않은 라벨은 다음과 같은 의미를 가진다.
  • TIME- 프로세스를 실행하는 사용자 CMD과 같다.
  • UID- 상위 프로세스의 ID입니다.
  • USER - PPID과 같고 프로세스 CPU 이용률입니다.
  • C-는 %CPU과 같고 명령이 시작된 시간입니다.
  • 특정 사용자로만 실행되는 프로세스를 보려면 다음 명령을 입력하십시오. STIME은 사용자의 이름입니다.
    ps -f -U  -u 

    사용자 정의 형식

    START 옵션을 사용하면 명령을 실행할 때 어떤 열을 표시할지 지정할 수 있습니다.예를 들어 ops에 대한 정보만 인쇄하려면 다음 명령 중 하나를 실행할 수 있습니다.
    ps -efo pid,comm

    PID를 다른 명령과 함께 사용

    COMMAND은 파이프를 통해 다른 명령과 결합하여 사용할 수 있습니다.ps 명령의 출력을 표시하려면 한 번에 한 페이지를 표시하고 ps 으로 전송하십시오.
    명령:
    ps auxo pid,comm
    ps 으로 less 명령의 출력을 필터할 수 있습니다
    .예를 들어, 루트 사용자에 속하는 프로세스만 표시하려면:
    ps -ef | less

    결론

    ps 명령은 Linux 시스템에서 문제를 해결할 때 가장 자주 사용하는 명령 중 하나입니다.많은 옵션이 있지만, 대부분의 사용자는 실행 프로세스에 대한 정보를 수집하기 위해 grep 또는 ps을 사용합니다.ps aux에 대한 자세한 내용은 터미널에 ps -ef을 입력하십시오.질문이나 피드백이 있으면 언제든지 의견을 발표하십시오.