从用户空间与内核模块进行通信的方式有哪些?通过通信,我的意思是在内核模块和用户空间进程之间发送信息和命令。

我目前知道两种方式:

  • 在已发布的设备节点上打开/关闭/读取/写入/ioctl。
  • 对已导出并已钩住的/proc文件进行读/写。

  • 更具体地说,有人可以建议与实际上不驱动任何硬件的内核模块通信的最佳方法,因此不应使用仅用于ioctl调用的 stub 节点来乱扔/dev吗?我最需要检查其各种状态变量,并使用请求类型标记将其发送给数据块,以查看请求是否成功。

    最佳答案

    Netlink sockets也针对此类需求而设计。

    另请参阅

  • 男子7 netlink
  • libnl - Netlink library
  • The libnl Archives
  • 关于linux - 如何从用户空间与Linux内核模块进行通信,而不会在新节点上乱扔/dev?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2903572/

    10-09 15:55