我可以在内核中设置Linux SIGUSR1吗?

时间:2010-01-07 12:51:35

标签: kernel signals embedded-linux

我可能会接近这一切,但......

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

我想要做的是告诉用户空间应用程序已发生此事件,以便它可以唤醒并执行某些操作。

是否可以(/简单/良好实践)从内核中设置SIGUSR1,然后通过

从用户空间捕获它
signal (SIGUSR1, <handler function>);

由于

1 个答案:

答案 0 :(得分:3)

这听起来不是一个好主意。如果它是可能的,你必须以某种方式给驱动程序提供用户空间的进程ID,以便驱动程序可以向它发送信号。

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