강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

pstree (프로세스들의 관계를 tree구조로 출력)

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

pstree

현재 실행중인 프로세스들을 트리구조로 보여준다.
프로세스의 상호관계를 파악하기 위해 필수적인 명령어이다.
모든 프로세스의 부모프로세스라고 하는 PID가 1인 init프로세스로 부터 개별프로세스들이 어떤 관계로 실행이 되었는가를 파악하기 위해 사용한다.

사용형식

       pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
       pstree -V

사용예 #1

다음과 같이 간단히 pstree라고만 하면 현재 실행중인 프로세스들을 tree구조형태로 보여준다.

[root@host3 root]# pstree
init-+-apmd
     |-atd
     |-bdflush
     |-crond
     |-eth1
     |-gdm-binary---gdm-binary-+-X
     |                         `-gdmgreeter
     |-gpm
     |-kapmd
     |-keventd
     |-khubd
     |-2*[kjournald]
     |-klogd
     |-ksoftirqd_CPU0
     |-kswapd
     |-kupdated
     |-mdrecoveryd
     |-6*[mingetty]
     |-portmap
     |-rpc.statd
     |-2*[sendmail]
     |-sshd---sshd---bash---pstree
     |-syslogd
     |-xfs
     `-xinetd
[root@host3 root]#

사용예 #2

-a옵션을 사용하면 프로세스들이 실행이 될때 인자나 옵션들이 함께 실행이 되었다면 이들을 모두 함께 표시해 준다.

[root@host3 root]# pstree -a
init)
  |-apmd) -p 10 -w 5 -W -P /etc/sysconfig/apm-scripts/apmscript
  |-atd)
  |-(bdflush)
  |-crond)
  |-(eth1)
  |-gdm-binary) -nodaemon
  |   `-gdm-binary) -nodaemon
  |       |-X) :0 -auth /var/gdm/:0.Xauth
  |       `-gdmgreeter)
  |-gpm) -t ps/2 -m /dev/mouse
  |-(kapmd)
  |-(keventd)
  |-(khubd)
  |-(kjournald)
  |-(kjournald)
  |-klogd) -x
  |-(ksoftirqd_CPU0)
  |-(kswapd)
  |-(kupdated)
  |-(mdrecoveryd)
  |-mingetty) tty1
  |-mingetty) tty2
  |-mingetty) tty3
  |-mingetty) tty4
  |-mingetty) tty5
  |-mingetty) tty6
  |-portmap)
  |-rpc.statd)
  |-sendmail)
  |-sendmail)
  |-sshd)
  |   `-sshd)
  |       `-bash)
  |           `-pstree) -a
  |-syslogd) -m 0
  |-xfs) -droppriv -daemon
  `-xinetd) -stayalive -reuse -pidfile /var/run/xinetd.pid
[root@host3 root]#

 

사용예 #3

-h 옵션은 현재 프로세스와 그의 부모프로세스들을 강조하여 출력해준다.

[root@host3 root]# pstree -h
init-+-apmd
     |-atd
     |-bdflush
     |-crond
     |-eth1
     |-gdm-binary---gdm-binary-+-X
     |                         `-gdmgreeter
     |-gpm
     |-kapmd
     |-keventd
     |-khubd
     |-2*[kjournald]
     |-klogd
     |-ksoftirqd_CPU0
     |-kswapd
     |-kupdated
     |-mdrecoveryd
     |-6*[mingetty]
     |-portmap
     |-rpc.statd
     |-2*[sendmail]
     |-sshd---sshd---bash---pstree
     |-syslogd
     |-xfs
     `-xinetd
[root@host3 root]#

 

사용예 #4

-p옵션은 프로세스들의 오른쪽에 PID정보를 함께 출력해준다.

[root@host3 root]# pstree -p
init(1)-+-apmd(604)
        |-atd(759)
        |-bdflush(6)
        |-crond(708)
        |-eth1(444)
        |-gdm-binary(774)---gdm-binary(807)-+-X(808)
        |                                   `-gdmgreeter(820)
        |-gpm(699)
        |-kapmd(3)
        |-keventd(2)
        |-khubd(64)
        |-kjournald(12)
        |-kjournald(156)
        |-klogd(495)
        |-ksoftirqd_CPU0(4)
        |-kswapd(5)
        |-kupdated(7)
        |-mdrecoveryd(8)
        |-mingetty(768)
        |-mingetty(769)
        |-mingetty(770)
        |-mingetty(771)
        |-mingetty(772)
        |-mingetty(773)
        |-portmap(506)
        |-rpc.statd(525)
        |-sendmail(679)
        |-sendmail(689)
        |-sshd(642)---sshd(821)---bash(823)---pstree(1625)
        |-syslogd(491)
        |-xfs(741)
        `-xinetd(656)
[root@host3 root]#

 

사용예 #5

결과물을 VT100 모드에서 보는것과 동일하게 보여주므로 조금 더 깔끔하게 보여진다.

1063970490.gif


사용예 #6

기본적으로 pstree는 프로세스이름으로 정렬을 해서 보여준다.

하지만 -n옵션은 같은 부모프로세스들을 가진 자식프로세스들끼리 정렬하여 보여준다.

[root@host3 root]# pstree -n
init-+-keventd
     |-kapmd
     |-ksoftirqd_CPU0
     |-kswapd
     |-bdflush
     |-kupdated
     |-mdrecoveryd
     |-2*[kjournald]
     |-khubd
     |-eth1
     |-syslogd
     |-klogd
     |-portmap
     |-rpc.statd
     |-apmd
     |-sshd---sshd---bash---pstree
     |-xinetd
     |-2*[sendmail]
     |-gpm
     |-crond
     |-xfs
     |-atd
     |-6*[mingetty]
     `-gdm-binary---gdm-binary-+-X
                               `-gdmgreeter
[root@host3 root]#

 

저작권:수퍼유저코리아(www.superuser.co.kr), 무단 재배포및 복사를 금합니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,039 명
  • 현재 강좌수 :  35,848 개
  • 현재 접속자 :  86 명