我一直在尝试遵循 Linux 上的流程创建流程。到目前为止,我已经添加了一些 debugprintk
来了解 Linux 内核上的 pid 分配。但是,现在我希望在创建(或执行)时将 PID 映射到二进制文件。
我知道Linux创建进程的方式是通过分叉init然后执行exec..或直接从init执行exec..
我正在尝试跟踪comm
新字段的task_struct
填充时间和位置。该comm
字段存储正在执行的二进制文件。到目前为止,无论我在哪里尝试打印该comm
字段(在context_switch
函数期间除外),所有进程始终将其名称显示为khelper
我已经尝试过广泛调试该do_execve
功能,但这似乎不包含与更改comm
字段相关的代码..
有人可以指出该comm
字段的分配地点和时间