事件button作为模块还是作为用户程序?

我正在编程一个button来启动基于Linux的电路板上的软件。 基于Linux的embedded式板上的button。 GPIO没有和那个Linux内核一起工作,所以我使用了事件接口。 该button基本上听button按下来激活所有的硬件,并按下两次时停止硬件。 我想知道是否作为内核模块或用户程序编写? 或者作为一个deamon?

如果可以在用户空间(即守护进程)中完成,则应该在那里完成。

在这种情况下,可能都是必需的。 您需要以某种方式访问​​该按钮,这取决于硬件的样子。 那么你需要回应一个事件,并根据这个事件执行一个动作。

在“策略不属于内核”的咒语之后,这意味着虽然你可以(也可能需要)从内核处理按钮本身,但是你需要从用户空间开始执行应用程序部分。 内核不应该开始新的用户空间进程。 相反,它应该通过一个netlink套接字例如传递到用户空间。 然后你需要一个用户空间守护进程,它监听netlink套接字,并响应某些事件启动应用程序。