Linuxにポーリングなしでイーサネットカードのリンクステータスの変更に関するイベントを提供するAPI(または特別なファイル)はありますか?すなわち、ケーブルのプラグイン/アウト時に?LinuxのNIC /イーサネットカードリンクステータスのイベントを取得します
2
A
答えて
4
netlink経由でリンクアップ/ダウンイベントを取得できます。 PF_NETLINK
ソケットを作成し、RTMGRP_LINK
グループにバインドし、RTM_NEWLINK
/RTM_DELLINK
メッセージを待ちます。リンクアップイベントにはIFF_RUNNING
とIFF_LOWER_UP
が設定されていますが、リンクダウンイベントでは両方のフラグがクリアされています(面倒なことに、両方のイベントに対してRTM_NEWLINK
というメッセージが表示されます)。
2
このファイル/sys/class/net/eth0/carrier
の内容が1の場合、インターフェイスeth0
にはキャリアがあります。
+0
実際、イベントベースではないようですが、私は変更について学ぶためにポーリングする必要があります。 – user1255770
関連する問題
- 1. LinuxでNIC RXリングの数を取得する方法
- 2. C#アクティブなNICのIPv4アドレスを取得
- 3. Linux C!eofイベントの取得方法は?
- 4. NICの数とその情報を取得する方法
- 5. スクリプトが間違ったNIC IPの詳細を取得しています
- 6. CloseableHttpAsyncClientで複数のNICを持つローカルIPを取得
- 7. Linuxはコンテキストスイッチタイミングを取得します
- 8. カーネルモジュールからローカルNICのip-addressを取得
- 9. NICスピードモードを遠隔から取得するには?
- 10. WebViewはonClickイベントを取得します
- 11. windows/linuxのプロセスの開始時刻を取得しますか?
- 12. キー押下イベントを取得
- 13. Linux NICドライバ:0.0.0.0から255.255.255.255までのUDPパケットは何ですか?
- 14. イベントの壁からの投稿を取得しますか?
- 15. NICのイーサネットフレーム
- 16. NICのバインド順序
- 17. コールバックですべてのUIGestureRecognizerイベントを取得しますか?
- 18. NIC - ライトウェイトフィルタドライバのローカルIP
- 19. 別のアプリケーションのイベントを取得する
- 20. 非イベント要素のkeypressイベントを取得できません
- 21. スクロールバーのボタンからイベントを取得していますか?
- 22. 閉じるときにUIPopoverPresentationControllerのイベントを取得します
- 23. Silverlight:DataGridRowGroupHeaderイベントのRowGroupHeader値を取得します。
- 24. initイベントを取得する
- 25. システムコールIDを取得して.txtファイル(LINUX)に保存します
- 26. 取得数は、次のイベント
- 27. イベント管理者の取得
- 28. .NET TextBoxのMouseDownイベントを取得する
- 29. イベントのリストを取得する
- 30. ul liのイベントを取得するjavascript
いくつかの実験(USBイーサネットアダプタのプラグインとプラグアウト)に基づいて、私は 'RTM_DELLINK'がイーサネットのために受信されているのを見ていません。そのイベントが発生したときに何か灯してもらえますか? –
@Vivek: 'RTM_DELLINK'は、リンクが管理上削除されたときに発生します。例えば、' brctl addbr br0; ip link set br0 down; brctl delbr br0'。 – ninjalj
返信いただきありがとうございます。私は 'ioctls'、' netlink'などの初心者です。あなたが "管理上のリンクの削除"と呼ばれているとき、それが何を意味するのか説明してください。私は多くの場所でそれを見ていますが、同じものの意味をつかまえていません。 –