显示树形结构的进程列表
命令语法格式
pstree [options] [pid, user]
pstree -V, –version
命令描述
命令pstree将运行进程显示为树。树将以pid为根目录;如果省略pid,则以init为根。 如果指定了用户名,则会显示以该用户拥有的进程为根的所有进程树。
在视觉上,pstree合并相同的分支,方法是将它们放在方括号中,并在前面添加重复计数,例如:
init-+-getty |-getty |-getty `-getty
会显示为:
init---4*[getty]
进程的子线程在父进程下找到,并以大括号中的进程名称显示,例如
icecast2---13*[{icecast2}]
如果pstree以pstree.x11的名称调用,那么它将提示用户在行末按RETURN,并且在按下RETURN之前不会返回。当pstree在xterminal中运行时,这非常有用。
某些内核或mount参数(例如procfs的hidepid选项)将隐藏某些进程的信息。 在这些情况下,pstree将尝试在没有此信息的情况下构建树,将进程名显示为问号。
命令行选项
排序选项
-n, –numeric-sort
通过PID对具有相同祖先的进程进行排序,而不是按名称。 (数字排序。)
控制输出内容
-a, –arguments
显示命令行参数。 如果交换了进程的命令行,则该进程将显示在括号中。选项-a隐式禁用进程的压缩,但不禁用线程。
-c, –compact
禁用相同子树的压缩。 默认情况下,尽可能压缩子树。
-h, –highlight-all, -Hpid, –highlight-pid pid
突出显示当前进程及其祖先。 如果终端不支持突出显示,或者当前进程或其任何祖先都未显示在子树中,则无操作。
-H
像-h一样,但突出显示指定的进程。 与-h不同,如果突出显示不可用,则在使用-H时,pstree会失败。
-g, –show-pgids
显示PGID。 进程组ID在每个进程名称后的括号中以十进制数显示。-g隐式禁用压缩。 如果同时显示PID和PGID,则首先显示PID。
-l, –long
显示长行。 默认情况下,行被截断为COLUMNS环境变量或显示宽度。 如果这两种方法都不起作用,则使用默认的132列。
-N ns, –ns-sortns
显示指定类型的每个命名空间的单个树。 可用的ns类型有:ipc,mnt,net,pid,user,uts。 普通用户无权访问其他用户的进程信息,因此输出将受到限制。
-p, –show-pids
显示PID。 在每个进程名称后的括号中,以十进制数显示PID。 -p隐式禁用压缩。
-s, –show-parents
显示指定进程的父进程。
-S, –ns-changes
显示命名空间转换。 与-N一样,当以普通用户身份运行时,输出受到限制。
-t, –thread-names
显示线程的全名(如果可用)。
-T, –hide-threads
隐藏线程,并仅显示进程。
-u, –uid-changes
显示uid过渡。 每当进程的uid与其父进程的uid不同时,新的uid将显示在进程名称后面的括号中。
-Z, –security-context
(SELinux)显示每个进程的安全上下文。 只有在使用SELinux支持编译pstree时,此标志才有效。
绘制字符
-G, –vt100
使用VT100行绘制字符。
-U, –unicode
使用UTF-8(Unicode)行绘制字符。 在Linux 1.1-54及更高版本中,在控制台上输入UTF-8模式,回显为-e ' 33%8‘,并留下echo -e ' 33%@‘。
-A, –ascii
使用ASCII字符绘制树。
其他选项
-V
显示版本信息。
注意事项
某些字符集可能与VT100字符不兼容。
相关文件
/proc
proc文件系统的位置
相关手册
ps(1), top(1)
参考文献
- man 1 pstree, Version 23.1-1+b1
更新日志
- 09/26/2018 创建文章