【发布时间】:2013-09-24 05:44:59
【问题描述】:
我在 QT (Embedded linux) 中有一个 USB 接口的应用程序。
当 Pendrive 插入内核为此发送信号时,我想识别该信号并希望我的 QT 应用程序检测到它。
我浏览了 QT 的 unix 信号处理教程,但找不到任何解决问题的方法。
我实现了与教程中相同的操作,但我没有找到检测 pendrive 的方法。它只会杀死进程。
请通过以下链接。
我还发现使用 qt 的 QdBus 库。我交叉编译了它,但给了我 lidbus 版本的错误。
还有其他方法可以从应用程序中检测到外置随身碟吗?
【问题讨论】:
-
您可能想查看libusb,尤其是hotplug event handling。
-
内核绝对不会在设备插入/移除时向应用程序发送 unix 信号! unix 信号是在进程中进行异步调用的一种非常具体的方式。您无需担心 unix 信号或 dbus。 Joachim 指出了正确的方向:您需要处理热插拔事件。