首先,我想说我并不熟悉 BSD 内部结构。现在进入问题。
bsd 中有一种使用 kqueues 在用户空间和内核空间之间进行通信的机制。然而,我所理解的是,我们可以使用 kqueue 和 kevents 来预定义事件。可以使用相同的机制来定义自定义事件吗?例如。在 Linux 中我也许可以使用 netlink 套接字。如果我的理解有误,请纠正我。
如果 Kqueue 不是正确的解决方案,那么是否有任何其他机制允许我从内核通知用户空间。我正在寻找除自定义信号之外的其他东西。
谢谢
最佳答案
您可以使用 EVFILT_USER 过滤器发送用户定义的事件。请参阅 kqueue(2)。
关于unix - bsd 内核用户空间事件 kqueue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14820316/