我一直在嘗試遵循Linux上的進程創建流程。目前爲止,我已經加入了一些調試printk
來理解Linux內核上的pid分配。 但是,現在我希望將PID映射爲二進制文件,因爲它們正在創建(或執行)。何時何地在Linux中命名的進程
我知道Linux的創建流程的方式是通過派生關閉初始化,然後直接由init做一個exec..or做一個exec ..
我試圖跟蹤何時何地在球場上comm
新的task_struct
正在填充.. comm
字段存儲正在執行的二進制文件。 到目前爲止,無論在哪裏我嘗試打印(在context_switch
功能時execept)的comm
場,所有流程始終顯示自己的名字作爲khelper
我已經嘗試過廣泛的調試功能do_execve
,但少了點似乎包含與comm
場的改變代碼..
有人能指出何時何地comm
字段分配
我不記得功能的名稱關閉我的頭頂,但我可以嘗試找到它您。這是實際讀取ELF文件的函數。 – 2013-02-22 22:08:48
我相信你所說的函數實際上是linux 2.6.35(這是我正在使用的版本)的do_execve .. 很遺憾,我可以發現沒有改變'comm'字段 – 2013-02-22 22:11:23
我知道'do_execve',我的意思是'load_elf_binary'。請檢查我的答案是否實際填寫了'comm'字段。 – 2013-02-22 22:16:30