我有一个包含中断处理程序的Linux内核模块,并希望在处理完中断后以某种方式通知用户空间应用程序。请告诉我,怎么做?
答案 0 :(得分:3)
使用netlink。
Netlink socket是一种用于传输信息的特殊IPC 内核和用户空间进程之间。它提供全双工 通过标准套接字API为两者之间的通信链接 用户空间进程和内核模块的特殊内核API。 与之相比,Netlink套接字使用地址族AF_NETLINK AF_INET由TCP / IP套接字使用。每个netlink套接字功能都定义了它 内核头文件中包含/ linux / netlink.h。
答案 1 :(得分:3)
答案 2 :(得分:0)
我正在直接回答这个问题,因为它是谷歌“内核向用户空间发送信号”的最佳结果。
我通常使用signal来杀死用户空间进程,以便在调用ioctl时检查它的堆栈。通常以下内容适用于我:
force_sig(SIGSEGV, current);