Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
一开始,我想说明我并不精通 BSD 内部。现在来回答这个问题。
在 bsd 中有一种使用 kqueues 在用户空间和内核空间之间进行通信的机制。但是,我的理解是,我们可以使用 kqueue 和 kevents 来预定义事件。可以使用相同的机制来定义自定义事件吗?例如。在 Linux 中,我也许可以使用 netlink 套接字。如果我的理解有误,请纠正我。
如果 Kqueue 不是正确的解决方案,那么是否有任何其他机制允许我从内核通知用户空间。我正在寻找除自定义信号之外的其他东西。
谢谢
您可以使用 EVFILT_USER 过滤器发送用户定义的事件。参见 kqueue(2)。