我非常喜欢 AIX 上的这种工作方式ps -T PID
。它在右侧显示了一个漂亮的进程树,在左侧显示了它们的 PID、PPID 和其他信息。在 AIX 文档中,该-T
标志显示使用 ASCII 艺术以树状格式显示以给定 pid 为根的进程层次结构。
例如:ps -T 40632
40632 - 0:00 |\--telnetd
40232 pts/2 0:00 | \--ksh
32910 pts/2 0:00 | \--dbx
987990 pts/2 0:00 | \--a.out
如果不使用pstree
,有没有办法使用 Linux 获得相同(或略微不同)的输出ps
?是否需要对结果进行后处理(使用awk
、、等...) 并不重要,我只想要一种像 AIX 版本那样显示结果的方式,即生成一个显示 PID、子进程、子进程的子进程等的进程树。除了 Linux没有显示我想要的格式之外,它只输出与 PID 直接相关的进程(PID + 直接子进程)。sed
grep
ps -T
我试过了pstree
,但根本不能让它看起来像这样——似乎它只支持在进程名称及其参数旁边打印 PID,但不能在另一个进程名称和参数旁边打印它们。窗格,就像 AIX 版本一样。
顺便说一下,我正在Debian 3.2.35-2 x86_64 GNU/Linux
使用procps-ng version 3.3.3
答案1
对于简单的进程树,使用ps -acxef -o pid,time,command
,要显示完整的命令行,请-c
省略即使用ps -axef -o pid,time,command
。