Linux의 Pstree 명령

Linux의 Pstree 명령

2022-05-31 last update

6 minutes reading terminal ps
Linux 시스템에서 작업할 때 현재 실행 중인 프로세스를 찾아야 할 때가 있습니다.실행 중인 프로세스에 대한 정보를 찾는 데 사용할 수 있는 많은 명령이 있습니다. 그 중에서 pstop 은 가장 자주 사용하는 명령입니다.본문에서 우리는 pstree 명령을 토론할 것이다.유사 ps
그러나 실행 중인 프로세스를 표시하는 것이 아니라 트리에 표시합니다.트리 형식은 프로세스 차원 구조를 표시하는 더욱 편리한 방식이며 출력을 시각적으로 더욱 매력적으로 한다.

pstree 명령 사용 방법

pstree 명령의 일반적인 문법은 다음과 같다.
ps [OPTIONS] [USER or PID]
옵션이나 파라미터가 없는 상황에서 호출할 때의 가장 간단한 형식, pstree 실행 중인 모든 프로세스의 차원 트리 구조를 표시한다.
pstree
systemd─┬─VBoxService───7*[{VBoxService}]
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─2*[agetty]
        ├─atd
        ├─cron
        ├─dbus-daemon
        ├─irqbalance───{irqbalance}
        ├─2*[iscsid]
        ├─lvmetad
        ├─lxcfs───2*[{lxcfs}]
        ├─networkd-dispat───{networkd-dispat}
        ├─nginx───2*[nginx]
...
트리의 맨 윗부분/루트는 모든 시스템 프로세스의 부모 프로세스이다.이 예에서 systemd 는 시작할 때 시작하는 첫 번째 프로세스입니다.pstree 동일한 지점을 병합하는 방법은 그것들을 네모난 괄호 안에 놓고 그것들 앞에 지점수를 나타내는 정수를 더하는 것이다.이것은 출력을 더욱 가독성과 시각적 매력을 가지게 한다.다음은 네모난 괄호를 사용하는 방법을 보여 주는 예입니다.
├─2*[agetty]
과:
├─agetty        
├─agetty
같은 지점의 병합을 사용하지 않으려면 -c 옵션을 사용하십시오.
pstree -c
프로세스의 스레드가 부모 프로세스에 표시되고 괄호 안의 프로세스 이름으로 표시됩니다.다음은 예입니다.
├─lxcfs───2*[{lxcfs}]
옵션을 사용하여 전체 스레드 이름을 표시합니다.스레드를 숨기고 프로세스만 표시하려면 -t 옵션을 사용합니다.일반적으로 -T 화면에 맞지 않는 출력 줄을 많이 표시합니다.한 번에 한 페이지의 출력을 보려면 파이핑을 통해 전송 pstree
명령:
pstree | less
사용자 이름이 매개변수로 지정된 경우 less 사용자가 소유한 프로세스만 표시됩니다.예를 들어, 다음 명령은 이름이 ""인 사용자가 시작한 프로세스만 표시합니다.
pstree 
PID가 매개변수로 지정되면 pstree 트리가 표시되며 해당 프로세스는 트리의 루트입니다.다음은 예입니다.
pstree 1943
sshd───bash───pstree
특정 프로세스의 상위 프로세스를 표시하려면 pstree 옵션을 사용하고 프로세스 PID를 따르십시오.
pstree -s 1943

PID 및 PGID 표시

일반적으로 -s 명령을 실행할 때 사용자가 찾는 가장 중요한 정보는 프로세스 ID입니다. 예를 들어 PID가 kill a malfunctioning process
.pstree 옵션 지시-p PID를 표시합니다:
systemd───sshd───sshd───bash───pstree
PID는 각 프로세스 또는 스레드 뒤의 괄호 안에 표시됩니다.
pstree -p
기본적으로 pstree 이름별로 동일한 상위 프로세스를 정렬합니다.pstree 옵션은 -n 숫자로 정렬하는 것을 알려줍니다. 즉, PID로 정렬하는 것입니다. (adsbygoogle = window.adsbygoogle | | [])푸시({});
systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956)
           │                  ├─{VBoxService}(957)
           │                  ├─{VBoxService}(958)
           │                  ├─{VBoxService}(959)
           │                  ├─{VBoxService}(960)
           │                  ├─{VBoxService}(961)
           │                  └─{VBoxService}(962)
...
프로세스 그룹 ID 또는 PGID는 프로세스 그룹의 첫 번째 구성원인 프로세스 ID입니다.PGID를 보려면 pstree 옵션을 사용하십시오.
pstree -pn
PID는 각 프로세스 또는 스레드 뒤의 괄호에도 표시됩니다.
pstree -g
PIDs 또는 PGID가 표시되면 암시적으로 결합이 해제됩니다.

명령행 매개변수 표시

일부 프로그램에서는 명령행 매개변수로 지정된 구성 옵션을 사용하여 호출할 수 있습니다.기본적으로 -g 실행 중인 프로세스의 명령행 매개변수는 표시되지 않습니다.프로세스가 어떻게 시작되는지 보려면 pstree 옵션과 함께 명령을 사용하십시오:
systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  └─{VBoxService}(954)
...

강조 표시

-a 프로세스를 강조 표시하여 더 나은 시각적 표현을 얻을 수 있습니다.pstree 옵션 지시-h는 현재 프로세스와 그 모든 조상을 강조합니다.
pstree -a
특정 프로세스를 강조 표시하려면 pstree 옵션을 사용하여 프로세스 ID를 따르십시오.
...
  ├─agetty -o -p -- \\u --keep-baud 115200,38400,9600 ttyS0 vt220
  ├─agetty -o -p -- \\u --noclear tty1 linux
...
강조 표시를 지원하지 않으면 명령이 종료되고 오류가 표시됩니다.

결론

-H 명령은 실행 중인 프로세스를 트리 구조로 표시합니다.사용 가능한 모든 옵션pstree에 대한 자세한 내용은 터미널에서 pstree 을 입력합니다.질문이나 피드백이 있으면 언제든지 의견을 발표하십시오.