2011-09-23 60 views
0

的DeviceManager我這裏讀了一些問題,但不能真正找到我'面臨着這裏的特定問題......註冊到Linux

我需要在一個特定的項目,該項目的緩存來實現「DeviceCache」/proc/net/dev中找到的所有設備名稱。 語言是C/++

所以我想到了一個單獨的線程尋找在上述目錄每隔X秒,但被鼓勵尋找一種更直接的方式。 如何向linux的設備管理器註冊我的進程的方法? 有沒有類似的事件/信號的方式?

我看了其他網站,但無法找到任何有用的代碼...進出口比較新到Linux編程,但願意學習新的東西:)根據您的意見,您真的想要什麼

+0

你爲什麼緩存這樣的東西?閱讀文件可能會很快。你真的想完成什麼? – bdonlan

+0

DeviceCache將被套接字框架使用,以便使「固定」設備進行通信。因此,如果其中一個設備被拔出,系統應該將設備更換爲第二個快速設備 – Ahnihmuhs

+0

'/ proc/net/dev'不提供媒體連接信息 – bdonlan

回答

1

是要跟蹤哪些網絡接口在任何給定的時間都是可操作的。

確定網絡接口是否啓動的唯一方法是測試它 - 畢竟,另一端的路由器可能已關閉。例如,您可以定期發送ping。

但是,如果你只是想知道,如果介質出現故障(如網絡電纜被拔掉),看看這些所謂的問題:

如果您只想獲得接口的實際硬件級別註冊通知(例如,插入USB NIC時),則可以使用udev事件(如果您的平臺具有udev;否則,我相信有另一個netlink類別的硬件添加/刪除事件。

+0

感謝答案是,我只是用錯誤的名詞來搜索我的問題,非常感謝:> – Ahnihmuhs