2

kext で新しく作成されたプロセスに関する通知を取得しようとしています。Get process creation notification in Mac OS Xによると、KAUTH_FILEOP_EXEC に登録しました

しかし、何らかの奇妙な理由で、vnode とファイル名 ( https://developer.apple.com/library/mac/technotes/tn2127/_index.html ) の 2 つの引数しか使用できません。

プロセスはその時点ですでに作成されていて、pid を持っているはずですが、カーネルはそれを私に与えません。

この時点でpidを取得することは可能ですか?

kext からの新しいプロセスの作成をサブスクライブし、このプロセスの pid を取得する他の方法はありますか?

4

1 に答える 1

2

はい、間違いなくファイル スコープから pid を取得できます: -

#include <sys/proc.h>

proc_t self = proc_self();
int pid = proc_pid(self);

// ensure you release the reference to self
proc_rele(self);
于 2014-04-25T12:19:18.173 に答える