如何在 Mac 内核扩展代码中获取当前进程 ID?
How do you get the current process ID in Mac kernel extension code?
我最初试图在我的内核模块中使用 getpid()
作为 OS X/macOS,有没有办法获取其上下文中进程的 PID(进程 ID)我的kext在内核中是运行?是否有我可以使用的现有函数或变量?
要获取当前 运行 内核线程关联的进程的 PID,请调用 proc_selfpid()
function;您需要在您的 kext 代码中 #include <sys/proc.h>
才能获得原型。如果您的代码是 运行 在某种系统调用回调的上下文中,那么 PID 当然只会对应于用户进程。
我最初试图在我的内核模块中使用 getpid()
作为 OS X/macOS,有没有办法获取其上下文中进程的 PID(进程 ID)我的kext在内核中是运行?是否有我可以使用的现有函数或变量?
要获取当前 运行 内核线程关联的进程的 PID,请调用 proc_selfpid()
function;您需要在您的 kext 代码中 #include <sys/proc.h>
才能获得原型。如果您的代码是 运行 在某种系统调用回调的上下文中,那么 PID 当然只会对应于用户进程。