EVFILT_PROC
我正在尝试通过使用pid来监视所有使用 Kevents 新创建的进程,launchd
pid 为 1:
struct kevent ke = { 0 };
const pid_t pid_of_launchd = 1;
EV_SET(&ke, pid_of_launchd, EVFILT_PROC, EV_ENABLE | EV_ADD | EV_CLEAR, NOTE_FORK | NOTE_EXEC, 0, NULL);
当我无法检索新进程 PID 或名称创建新进程时,我确实收到了事件:
struct kevent change = { 0 };
int next_event = kevent(kq, NULL, 0, &change, 1, NULL);
// change.ident always equal 1
有没有人遇到过这个?
谢谢!