我有一些pid,我想知道每个父母一直到init的进程名称。
例如,当我输入我正在寻找的这个命令时,我希望看到类似的东西 “init───sshd───bash───mypidprocess”
默认情况下,pstree打印出相反的内容,从给定pid的processname开始,它一直向下移动到最后一个孩子。
我如何告诉pstree以递归方式打印出pid的父母?
答案 0 :(得分:4)
使用GNU pstree
,您可以使用-H
突出显示选项突出显示某个进程及其所有祖先,然后只过滤突出显示。
但是使用Fred Hucht's portable version of pstree
,这可能是你在任何平台上所拥有的东西,而不是linux,实际上没有任何东西可以帮助你。当然你可以解析整个树,但是直接解析ps
输出(这是pstree
本身所做的)会更容易。或修改(GPL)源以执行您想要的操作。
编写一个递归调用getppid
的简单程序(在Python,C中,无论如何)可能更容易,然后获取有关生成父项的进程信息。