2

一开始,我想说明我并不精通 BSD 内部。现在来回答这个问题。

在 bsd 中有一种使用 kqueues 在用户空间和内核空间之间进行通信的机制。但是,我的理解是,我们可以使用 kqueue 和 kevents 来预定义事件。可以使用相同的机制来定义自定义事件吗?例如。在 Linux 中,我也许可以使用 netlink 套接字。如果我的理解有误,请纠正我。

如果 Kqueue 不是正确的解决方案,那么是否有任何其他机制允许我从内核通知用户空间。我正在寻找除自定义信号之外的其他东西。

谢谢

4

1 回答 1

2

您可以使用 EVFILT_USER 过滤器发送用户定义的事件。参见 kqueue(2)。

于 2013-03-13T00:15:56.400 回答