本文連結:http://codingstandards.iteye.com/blog/842156 (轉載請註明出處)
用途說明
pstree命令以樹狀圖顯示程式間的關係(display a tree of processes)。ps命令可以顯示當前正在執行的那些程式的資訊,但是對於它們之間的關係卻顯示得不夠清晰。在Linux系統中,系統呼叫fork可以建立子程式,通過子shell也可以建立子程式,Linux系統中程式之間的關係天生就是一棵樹,樹的根就是程式PID為1的init程式。
常用引數
格式:pstree
以樹狀圖顯示程式,只顯示程式的名字,且相同程式合併顯示。
格式:pstree -p
以樹狀圖顯示程式,還顯示程式PID。
格式:pstree <pid>
格式:pstree -p <pid>
以樹狀圖顯示程式PID為<pid>的程式以及子孫程式,如果有-p引數則同時顯示每個程式的PID。
格式:pstree -a
以樹狀圖顯示程式,相同名稱的程式不合並顯示,並且會顯示命令列引數,如果有-p引數則同時顯示每個程式的PID。
因為pstree輸出的資訊可能比較多,所以最好與more/less配合使用。
使用示例
示例一
[root@web ~]# pstree
init-+-acpid
|-atd
|-auditd-+-audispd---{audispd}
| `-{auditd}
|-automount---4*[{automount}]
|-avahi-daemon---avahi-daemon
|-crond---5*[crond-+-mj.sh]
| `-sendmail]
|-cupsd
|-dbus-daemon---{dbus-daemon}
|-events/0
|-events/1
|-gam_server
|-gpm
|-hald---hald-runner-+-hald-addon-acpi
| |-hald-addon-keyb
| `-hald-addon-stor
|-hcid
|-hidd
|-hpiod
|-java-+-java---17*[{java}]
| `-14*[{java}]
|-java-+-java---29*[{java}]
| `-14*[{java}]
|-java-+-java---34*[{java}]
| `-14*[{java}]
|-java---20*[{java}]
|-java---292*[{java}]
|-khelper
|-klogd
|-krfcommd
|-ksoftirqd/0
|-ksoftirqd/1
|-kthread-+-aio/0
| |-aio/1
| |-ata/0
| |-ata/1
| |-ata_aux
| |-cqueue/0
| |-cqueue/1
| |-hd-audio0
| |-kacpid
| |-kauditd
| |-kblockd/0
| |-kblockd/1
| |-khubd
| |-khungtaskd
| |-2*[kjournald]
| |-kmpath_handlerd
| |-kmpathd/0
| |-kmpathd/1
| |-kondemand/0
| |-kondemand/1
| |-kpsmoused
| |-kseriod
| |-ksnapd
| |-kstriped
| |-kswapd0
| |-2*[pdflush]
| |-rpciod/0
| |-rpciod/1
| |-scsi_eh_0
| |-scsi_eh_1
| |-scsi_eh_2
| |-scsi_eh_3
| |-scsi_eh_4
| `-scsi_eh_5
|-loop0
|-mcstransd
|-migration/0
|-migration/1
|-6*[mingetty]
|-mj.sh---make---java---11*[{java}]
|-ntpd
|-pcscd---{pcscd}
|-portmap
|-python
|-restorecond
|-rpc.idmapd
|-rpc.statd
|-screen---bash---update.sh---cvs
|-sendmail---2*[sendmail]
|-sendmail
|-setroubleshootd---2*[{setroubleshootd}]
|-smartd
|-sshd-+-sshd---bash---update_and_rest---cvs
| |-sshd---bash---pstree
| `-sshd---bash
|-start_derby.sh---java---45*[{java}]
|-surf---8*[{surf}]
|-syslogd
|-tomcat---sleep
|-udevd
|-watchdog/0
|-watchdog/1
|-xfs
|-xinetd
`-yum-updatesd
[root@web ~]#
示例二
[root@web ~]# pstree -p | less
init(1)-+-acpid(2569)
|-atd(2983)
|-auditd(2225)-+-audispd(2227)---{audispd}(2232)
| `-{auditd}(2226)
|-automount(2654)-+-{automount}(2655)
| |-{automount}(2656)
| |-{automount}(2659)
| `-{automount}(2662)
|-avahi-daemon(3026)---avahi-daemon(3027)
|-crond(2916)-+-crond(14707)-+-mj.sh(14709)
| | `-sendmail(14773)
| |-crond(14708)-+-mj.sh(14710)
| | `-sendmail(14754)
| `-crond(26312)-+-mj.sh(26314)
| `-sendmail(26387)
|-cupsd(2717)
|-dbus-daemon(2446)---{dbus-daemon}(2447)
|-events/0(8)
|-events/1(9)
|-gam_server(3175)
|-gpm(2902)
|-hald(2587)---hald-runner(2588)-+-hald-addon-acpi(2596)
| |-hald-addon-keyb(13708)
| `-hald-addon-stor(2606)
|-hcid(2477)
|-hidd(2628)
|-hpiod(2676)
|-java(1572)-+-java(1586)-+-{java}(1590)
| | |-{java}(1591)
| | |-{java}(1592)
| | |-{java}(1593)
| | |-{java}(1594)
| | |-{java}(1595)
| | |-{java}(1596)
| | |-{java}(1597)
| | |-{java}(1598)
| | |-{java}(1599)
| | |-{java}(1600)
| | |-{java}(1782)
| | |-{java}(1783)
:
示例三
[root@web ~]# pstree -a | less
init
|-acpid
|-atd
|-auditd
| |-audispd
| | `-{audispd}
| `-{auditd}
|-automount
| |-{automount}
| |-{automount}
| |-{automount}
| `-{automount}
|-avahi-daemon
| `-avahi-daemon
|-crond
| |-crond
| | |-(mj.sh)
| | `-sendmail
| |-crond
| | |-(mj.sh)
| | `-sendmail
| |-crond
| | |-(mj.sh)
| | `-sendmail -FCronDaemon -i -odi -oem -oi -t
| |-crond
| | |-(mj.sh)
| | `-sendmail -FCronDaemon -i -odi -oem -oi -t
| `-crond
| |-(mj.sh)
| `-sendmail -FCronDaemon -i -odi -oem -oi -t
|-cupsd
|-dbus-daemon --system
| `-{dbus-daemon}
|-(events/0)
|-(events/1)
|-gam_server
|-gpm -m /dev/input/mice -t exps2
|-hald
| `-hald-runner
| |-hald-addon-acpi
:
示例四
[root@web ~]# pstree 2701
sshd-+-sshd---bash---update_and_rest---cvs
|-sshd---bash---pstree
`-sshd---bash
[root@web ~]# pstree -p 2701
sshd(2701)-+-sshd(6745)---bash(6749)---update_and_rest(14193)---cvs(14194)
|-sshd(12626)---bash(12630)---pstree(15588)
`-sshd(13324)---bash(13328)
[root@web ~]#