0

ここでいくつかの質問を読みましたが、ここで直面している特定の問題を実際に見つけることができませんでした...

/ proc / net/devにあるすべてのデバイス名をキャッシュする特定のプロジェクトに「DeviceCache」を実装する必要があります。言語はC/++です

そこで、上記のディレクトリでX秒ごとに別のスレッドを検索することを考えましたが、より直接的な方法を見つけるように勧められました。プロセスのメソッドをLinuxのデバイスマネージャーに登録するにはどうすればよいですか?イベント/シグナルのような同様の方法はありますか?

他のサイトを調べましたが、役立つコードが見つかりませんでした... Linuxプログラミングは比較的新しいですが、新しいことを学びたいと思っています:)

4

1 に答える 1

1

あなたのコメントに基づいて、あなたが本当に望んでいるのは、どのネットワーク インターフェイスがいつでも動作しているかを追跡することです。

ネットワーク インターフェイスが稼働しているかどうかを判断する唯一の真の方法は、それをテストすることです。結局のところ、相手側のルーターがダウンしている可能性があります。たとえば、ping を定期的に送信できます。

ただし、メディアがダウンしたかどうか (つまり、ネットワーク ケーブルが抜かれているかどうか) だけを知りたい場合は、次の SO の質問を参照してください。

インターフェイスの実際のハードウェア レベルの登録 (たとえば、USB NIC が接続されたとき) の通知が必要な場合は、プラットフォームに udev がある場合、udev イベントを使用できます。それ以外の場合は、ハードウェアの追加/削除イベント用の別のネットリンク カテゴリがあると思います。

于 2011-09-23T20:22:06.657 に答える