pstree - 显示进程树
概要
pstree [-a, --arguments] [-c, --compact-not] [-C, --color attr] [-g, --show-pgids] [-h, --highlight-all, -H pid, --highlight-pid pid] [-l, --long] [-n, --numeric-sort] [-N, --ns-sort ns]
[-p, --show-pids] [-s, --show-parents] [-S, --ns-changes] [-t, --thread-names] [-T, --hidethreads] [-u, --uid-changes] [-Z, --security-context] [-A, --ascii, -G, --vt100, -U, --unicode]
[pid, user]
pstree -V, --version
描述
pstree 以树的形式显示正在运行的进程。树的根节点是 pid,如果省略 pid,则根节点是 init。如果指定了用户名,则显示所有以该用户拥有的进程为根的进程树。
pstree 可视化地合并相同的分支,将其放入方括号中,并在前面加上重复计数,例如:
init-+-getty
|-getty
|-getty
`-getty
变为:
init---4*[getty]
进程的子线程位于父进程下方,并以花括号中的进程名称显示,例如:
icecast2---13*[{icecast2}]
如果以 pstree.x11 形式调用 pstree,它将在行的末尾提示用户按下回车键,并且不会返回,直到用户按下回车键。这对于在 x 终端中运行 pstree 时很有用。
某些内核或挂载参数,例如 procfs 的 hidepid 选项,会隐藏某些进程的信息。在这种情况下,pstree 将尝试在没有这些信息的情况下构建树,并将进程名称显示为问号。
选项
-a 显示命令行参数。如果进程的命令行已交换,则该进程显示在括号中。-a 隐式地禁用进程的压缩,但不禁用线程的压缩。
-A 使用 ASCII 字符绘制树。
-c 禁用相同子树的压缩。默认情况下,只要可能,就会压缩子树。
-C 按给定的属性对进程名称进行颜色编码。目前,pstree 仅接受 age 值,该值按进程年龄进行颜色编码。较新的进程(60 秒以内)为绿色,较新的进程(1 小时以内)为黄色,其余为红色。
-g 显示 PGID。进程组 ID 显示为每个进程名称后面的括号中的十进制数字。如果同时显示 PID 和 PGID,则首先显示 PID。
-G 使用 VT100 线路绘制字符。
-h 突出显示当前进程及其祖先。如果终端不支持突出显示,或者当前进程或其任何祖先不在显示的子树中,则此操作无效。
-H 类似于 -h,但突出显示指定的进程。与 -h 不同,如果使用 -H 并且无法使用突出显示,则 pstree 将失败。
-l 显示长行。 默认情况下,行会被截断到 COLUMNS 环境变量或显示宽度。 如果这两种方法都不起作用,则默认使用 132 列。
-n 按 PID 而不是按名称对具有相同父进程的进程进行排序。(数字排序。)
-N 显示指定类型的每个命名空间的单独树。 可用的类型为:ipc、mnt、net、pid、time、user、uts。 普通用户无法访问其他用户的进程信息,因此输出将受到限制。
-p 显示 PID。 PID 作为十进制数字显示在每个进程名称后面的括号中。 -p 选项会隐式禁用紧凑显示。
-s 显示指定进程的父进程。
-S 显示命名空间转换。 类似于 -N,以普通用户身份运行时,输出会受到限制。
-t 如果可用,显示线程的完整名称。
-T 隐藏线程,仅显示进程。
-u 显示 uid 转换。 每当进程的 uid 与其父进程的 uid 不同时,新的 uid 会显示在进程名称后面的括号中。
-U 使用 UTF-8(Unicode)线条字符。 在 Linux 1.1-54 及更高版本中,可以使用 `echo -e ' 33%8'` 在控制台上进入 UTF-8 模式,并使用 `echo -e ' 33%@'` 退出。
-V 显示版本信息。
-Z 显示进程的当前安全属性。 对于 SELinux 系统,这将是安全上下文。
文件
/proc proc 文件系统的位置
错误
某些字符集可能与 VT100 字符不兼容。