首页 > 编程笔记

Linux pstree命令的用法

除了 ps、top 以及 free 命令外,Linux 系统还提供了一个显示更直观、与进程管理有关的命令,就是 pstree 命令。

pstree 命令将正在运行的进程作为一棵树来显示,树的根基可以是一个进程的 PID 也可以是 init。

pstree 命令的基本格式如下:

[root@bogon ~]# pstree [选项] [PID或用户名]

pstree命令常用选项及作用如表 1 所示。

表 1 pstree命令常用选项及作用
选 项 作 用
-a 显示启动每个进程对应的完整指令,包括启动进程的路径、参数等
-c 不显示进程的全部详细信息,即显示的进程中包含子进程和父进程
-n 跟据进程 PID 号来排序输出,默认是以程序名排序输出的
-p 显示进程的 PID
-u 显示进程对应的用户名称

注意,在使用 pstree 命令时,如果不指定进程的 PID 号,也不指定用户名称,则会以 init 进程为根进程,显示系统中所有程序和进程的信息;反之,若指定 PID 号或用户名,则将以 PID 或指定命令为根进程,显示 PID 或用户对应的所有程序和进程。init 进程是系统启动的第一个进程,进程的 PID 是 1,也是系统中所有进程的父进程。

如果命令中指定的参数是用户名,那么进程树的根是基于这个用户所拥有的进程。可以使用例 1 中不带任何参数的 pstree 命令列出系统中所有进程的状态树。

【例 1】pstree命令的使用。在终端页面输入如下命令:
[root@bogon ~]# pstree
init─┬─ManagementAgent───6*[{ManagementAgen}]
      ├─NetworkManager─┬─dhclient
      │                  └─{NetworkManager}
      ├─VGAuthService
      ├─abrtd
      ├─acpid
      ├─atd
      ├─auditd───{auditd}
      ├─bluetoothd
      ├─bonobo-activati───{bonobo-activat}
      ├─clock-applet
      ├─console-kit-dae───63*[{console-kit-da}]
      ├─crond
......

优秀文章