gpt4 book ai didi

linux-kernel - Linux 中的进程何时何地命名

转载 作者:行者123 更新时间:2023-12-03 02:42:49 25 4
gpt4 key购买 nike

我一直在尝试遵循 Linux 上的进程创建流程。到目前为止,我已经添加了一些调试 printk 来了解 Linux 内核上的 pid 分配。然而,现在我希望在创建(或执行)二进制文件时将 PID 映射到它们。

我知道Linux创建进程的方式是 fork init然后执行exec..或者直接从init执行exec..

我正在尝试跟踪新 task_struct 上的字段 comm 何时何地被填充。comm 字段存储正在执行的二进制文件。到目前为止,无论我尝试在何处打印 comm 字段(除了在 context_switch 函数期间),所有进程始终将其名称显示为 khelper

我已尝试广泛调试 do_execve 函数,但这似乎不包含与更改 comm 字段相关的代码..

有人可以指出 comm 字段的分配地点和时间

最佳答案

更正:函数是 fs/exec.c 中的 setup_new_exec,它调用实际设置此字段的 set_task_comm

关于linux-kernel - Linux 中的进程何时何地命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15033926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com