1

我可能正在接近这一切都是错误的,但......

我有一个处理外部中断的 linux 内核设备驱动程序,并且当前在它发生时执行 printk()。

我想做的是告诉用户空间应用程序该事件已发生,以便它可以唤醒并做一些事情。

是否可以(/simple /good practice)从内核中设置 SIGUSR1,然后通过以下方式从用户空间捕获它

signal (SIGUSR1, <handler function>);

谢谢

4

1 回答 1

3

这听起来不是一个好主意。如果可能的话,您必须以某种方式为驱动程序提供用户空间人员的进程 ID,以便驱动程序可以获取信号给它。

我会创建一个/dev/xxx,打开它,当事件发生时,驱动程序可以激活文件描述符。甚至可能提供更多信息。

于 2010-01-07T13:04:03.773 回答