0

我正在编写一个按钮以在基于 linux 的板上启动软件。基于 Linux 的嵌入式板上的按钮。GPIO 不适用于那个 Linux 内核,所以我使用了事件接口。该按钮基本上是在监听按钮按下以激活所有硬件并在按下两次时停止硬件。我想知道是作为内核模块还是作为用户程序编写?还是作为一个恶魔?

4

1 回答 1

1

如果可以在用户空间(即守护程序)中执行此操作,您应该在那里执行此操作。

在这种情况下,可能需要两者。您需要以某种方式访问​​该按钮,这取决于硬件的外观。然后,您需要响应事件并基于该事件执行操作。

遵循“政策不属于内核”的口头禅,这意味着虽然您可以(并且可能需要)从内核处理按钮本身,但您需要从用户空间启动应用程序部分。内核不应该负责启动新的用户空间进程。相反,它应该将偶数传递给用户空间,例如通过 netlink 套接字。然后,您需要一个用户空间守护程序,它侦听 netlink 套接字并启动应用程序以响应某些事件。

于 2012-05-13T21:10:32.930 回答