1
私は当初、OS X/macOSのカーネルモジュールでgetpid()
を使用しようとしていましたが、私のkextがカーネル内で動作しているプロセスのPID(プロセスID)を取得する方法はありますか?私が使用できる既存の関数や変数はありますか?Macカーネル拡張コードでどのように現在のプロセスIDを取得しますか?
私は当初、OS X/macOSのカーネルモジュールでgetpid()
を使用しようとしていましたが、私のkextがカーネル内で動作しているプロセスのPID(プロセスID)を取得する方法はありますか?私が使用できる既存の関数や変数はありますか?Macカーネル拡張コードでどのように現在のプロセスIDを取得しますか?
現在実行中のカーネルスレッドが関連付けられているプロセスのPIDを取得するには、proc_selfpid()
functionを呼び出します。プロトタイプを取得するにはkextのコードに#include <sys/proc.h>
が必要です。 PIDは、もちろん、あなたのコードがシステムコール用の何らかのコールバックのコンテキストで実行されている場合にのみ、ユーザープロセスに対応します。
https://stackoverflow.com/questions/41676/is-there-a-way-of-getting-the-process-id-of-my-c-applicationを参照してください。これはunistd.hで利用可能です。 – mattias
@AndrewHenleなぜあなたは私が既にGoogleにそれをgoogleしていないなら、これを投稿してライブラリに掘り下げると思いますか#facepalm – Anurag
[Googleで "getpid()on mac"を検索しているので、(https://www.google。 com/search?q = getpid()+ on + mac)は非常に最初の結果として返されます[Mac 'getpid(2)' manページ](http://www.manpages.info/macosx/getpid.2.html )あなたの質問に '#include'と '#include 'のどちらも記載されていないことを明示しています。 #facepalm確かに。 –