需要帮助创建pid进程树

时间:2017-09-16 23:09:31

标签: linux awk pid

我有一个我正在做的项目。这是我第一次创建pid进程树。这棵树假设显示了祖父母,祖父母,父母,孩子,孙子,曾孙子

说明:
写一个以pid为主题的脚本 参数并打印以下内容 信息:
a)命令名称 b)任何网络连接,
c)重复(a)和(b)最多3个祖先 流程和最多3代 后代

这是我到目前为止的代码

ps -al | awk '{print $4,$5}'
parents[pid]=ppid
echo $parents

此代码的输出假设显示PID和PPID的列表,但它不起作用。我需要帮助。我也用linux编写这段代码。

这是我创建的新代码。

    function treeOfLife(){
    pid=$$
    myParent=$PPID 
    myParent=$(ps -al | awk '{print $4,$5}')
    GPPID=$(grep PPid: /proc/$$/status | awk '{print $2}')
    echo $myParent $GPPID
}
treeOfLife $myParent $GPPID

当我运行代码时,这就是我得到的输出。 PID PPID 1304 1167 1506 1304 1507 1506 1508 1507 1509 1507 1304

1 个答案:

答案 0 :(得分:0)

如果您使用的是Linux,您可能会更容易阅读/proc/[pid]/status。 e.g。

# echo $$        
167
# grep PPid /proc/$$/status
PPid:   158

另见