【发布时间】:2018-04-26 18:17:18
【问题描述】:
我最初试图在我的 OS X/macOS 内核模块中使用 getpid(),有没有办法获取我的 kext 在内核中运行的进程的 PID(进程 ID)?我可以使用现有的函数或变量吗?
【问题讨论】:
-
因为searching Google for "getpid() on mac" 作为其第一个结果返回the Mac
getpid(2)man page,它清楚地表明您需要#include <sys/types.h>和#include <unistd.h>,您的问题中都没有提到它们。 #facepalm 确实如此。 -
我遇到了我在内核中尝试这个的问题,我认为 getpid() 不适用于内核
-
进程ID是什么?内核扩展不是进程。
-
@duskwuff 我需要使用我的 kext 打印出进程的 PID
-
@AndrewHenle:OP 没有询问如何获取他们的代码所在进程的 PID,因为他们的代码不是用户进程的一部分。他们在询问如何获取发起请求并导致其内核扩展被调用的进程的 PID。
标签: macos kernel pid kernel-extension xnu