unix - bsd 内核用户空间事件 kqueue

标签 unix kernel freebsd bsd

首先,我想说我并不熟悉 BSD 内部结构。现在进入问题。

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

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

谢谢

最佳答案

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

关于unix - bsd 内核用户空间事件 kqueue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14820316/

相关文章:

unix - 如何在unix系统上使用ActiveX解压CAB文件?

c - Unix C Shell - 作业控制问题!

sed - FreeBSD 中的多行删除

python - 如何在 FreeBSD 中打开 PostgreSQL 的 psql 提示符?

freebsd - 为什么 "freebsd-version"和 "freebsd-version -k"的输出不同?

bash - 如何在不更改 $PATH 的情况下重新加载 .bash_profile?

xml - 是否有任何正式的方式或已知的方式来规范化 xml 文件以生成差异?

c - 我如何通过网络代理 mmap 读取和写入?

linux-kernel - _NR在系统调用号码中代表什么?通常用作后缀

linux - Linux内核中直接读/写 block 到磁盘