1. 程式人生 > >qt linux下自動檢測U盤熱插拔

qt linux下自動檢測U盤熱插拔

如果用U盤來更新軟體,需要先刪除當前的可執行檔案,但是如果刪除之後,複製失敗的話會導致後續沒有檔案可以運行了。一個方法是將新的可執行檔案放到另一個目錄中,當copy成功後修改linux的啟動檔案,然後reboot.

   使用qt自帶的QDBus可以實現。

D-BUS是一個提供簡單的應用程式互相通訊的途徑的自由軟體專案,它是作為freedesktoporg專案的一部分來開發的。

D-Bus允許程式在其上註冊以提供服務給其他的程式,同時客戶端程式可以使用D-bus檢測有哪些服務是可得的,程式也可註冊以等待kernel的events,比如說硬體的熱插拔

2. 另一個方法,開啟一個qtimer,然後在timeout裡面檢測/proc/partititon檔案,以及/proc/mount檔案,我寫過很多這方面的軟體,當然從hal層來做的話,也可以,但是你必須首先連線dbus

3. 用netlink--easy