如何显示bash会话的当前进程树?

Tha*_*Tyl 6 vi bash process ps

我想创建一个bash别名,它给我从我正在使用的当前bash会话的进程树,直到init.

用例是知道我是否使用bashvi:shell命令.

我正在使用MacOS X.我听说过pstree,但它似乎只显示孩子,而不是init和当前进程之间的关系.

pne*_*ics 7

这是pstree(1)通过使用一个选项来仅显示特定 PID 的树并提供当前进程的 PID($$在 Bash 中)来支持的,该选项在随 Debian 分发的 Werner Almesberger 的 GPL 许可版本和 Fred 的 BSD 版本之间命名不同Hucht 随 MacOS 分发。

这是您的 MacOS 别名:

alias psme='pstree -p $$'
Run Code Online (Sandbox Code Playgroud)


gho*_*g74 6

我相信通过谷歌搜索,您可以找到如何获取和下载pstreeMac.但是,你可以做一个穷人的版本,使用psppid.

例如

ps -eo ppid,pid,cmd | awk '{p[$1]=p[$1]","$3}END{ for(i in p) print i, p[i]}'
Run Code Online (Sandbox Code Playgroud)