Cプログラムを書いてシステムで実行しているとしましょう。そのランチャーの開始アドレスを知りたい場合はtask_struct
どうすればよいですか?
答え1
カーネルコード内では、現在のプロセスはcurrent
ポインタとして使用でき、その後include(たとえばinclude)を作成して現在のプロセスのすべてのメンバーにアクセスlinux/sched.h
できます。task_struct
current->pid
(current
それ自体がマクロである可能性があります。たとえば、x86では置き換えられますget_current()
。)
バラより第2章Linuxデバイスドライバ、特に「現在のプロセス」です。