Linuxでのプロセス作成の流れをたどろうとしています。これまで、printkLinuxカーネルでのpidの割り当てを理解するために、いくつかのデバッグを行いました。ただし、PIDが作成(または実行)されるときに、PIDをバイナリにマップしたいと思います。
Linuxがプロセスを作成する方法は、initをフォークしてから、execを実行するか、initから直接execを実行することです。
comm新しいフィールドがいつどこでtask_struct埋められているかを追跡しようとしています。このcommフィールドには、実行中のバイナリが格納されます。これまでのところ、commフィールドを印刷しようとしても(関数中context_switchを除く)、すべてのプロセスは常に名前を次のように表示します。khelper
関数のデバッグを広範囲に試みましたが、フィールドdo_execveの変更に関連するコードが含まれていないようです。comm
commフィールドが割り当てられている場所と時期を誰かが指摘できますか