プロセスのtask_struct開始アドレスを取得する方法

プロセスのtask_struct開始アドレスを取得する方法

Cプログラムを書いてシステムで実行しているとしましょう。そのランチャーの開始アドレスを知りたい場合はtask_structどうすればよいですか?

答え1

カーネルコード内では、現在のプロセスはcurrentポインタとして使用でき、その後include(たとえばinclude)を作成して現在のプロセスのすべてのメンバーにアクセスlinux/sched.hできます。task_structcurrent->pid

currentそれ自体がマクロである可能性があります。たとえば、x86では置き換えられますget_current()。)

バラより第2章Linuxデバイスドライバ、特に「現在のプロセス」です。

関連情報