[英]Handling of device insertion and removal on Embedded Linux
我在QT(嵌入式linux)中有一個USB接口的應用程序。
當Pendrive插入時,內核為此發送信號,我想識別該信號並希望我的QT應用程序檢測到它。
我經歷了QT的Unix信號處理教程,但是找不到任何解決我問題的方法。
我實現了與本教程中相同的操作,但是我沒有找到檢測Pendrive的方法。 它只會殺死進程。
請通過以下鏈接。
我還發現使用Qt的QdBus庫。 我交叉編譯了它,但給了我Lidbus版本的錯誤。
還有其他方法可以從應用程序中檢測外部筆式驅動器嗎?
內核是廣播網絡鏈路的信息。 您可以,
QSocket()
獲取網絡鏈路信息。 請參閱: Qt Projects線程 libusb
之類的現成工具包,它將使用netlink 。 QFileSystemWatcher
; 也可能是/ etc / fstab 。 udev
和mdev
是標准的熱插拔處理程序,它們具有配置文件,可讓您在事件上運行腳本。 底層機制還是netlink 。 如果要自動掛載文件系統,則分析netlink或使用/ etc / fstab可能更好。 如果選擇解析路徑,則需要解析name=value
信息 搜索netlink
,這很容易。
我得到了使用mkdev.conf的busybox工具的解決方案。 我在其中添加了對USB pendrive檢測的支持,並使用udev實用程序在linux和Application信號處理程序之間架起了橋梁。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.