いくつかの背景:時々Wi-Fi接続が突然切断され、sudo ifconfig wlan0
単語を入力して確認しますRUNNING
。その行は次のようになります。
UP BROADCAST RUNNING MULTICAST [...]
接続が切断されると何もRUNNING
設定されません。何も接続できませんが、インターフェイスは引き続き使用できます。
定期的にステータスを確認するスクリプトを書くつもりですRUNNING
。文字列を抽出するには、awk
次のものを使用しますsudo ifconfig wlan0 | awk '/RUNNING/ {print $3}'
。
ifconfigの出力を解析するのではなく、ファイルシステムを確認するなどの他の方法はありますか?
私はDebian Wheezyを使用しています。
ありがとうございます。
追加情報:
さて、ちょうどいくつかの調査を行い、概念的な混乱を解決しました。
UP
ロゴから異なりますRUNNING
。最初のものは、インターフェイスが「現在初期化されている」[1]、つまり、「システムがインターフェイスのリソースを割り当てた」[2]を意味します。これはパケット転送について何も言いません。
このRUNNING
フラグは、実際にパケットが送受信されていることを示します。イーサネットケーブルを抜くと、このロゴが消えそうです。
[1]https://docs.oracle.com/cd/E19253-01/816-4554/ipconfig-141/index.html
[2]https://stackoverflow.com/questions/11679514/what-is-the-difference- Between-iff-up-and-iff-running
私(またはすべて)のワイヤレス接続で何が起こったのかわかりませんが、結果は同じです。インターフェースは開いたまま(ノートパソコンのWi-Fi LEDは点灯し続けています)、接続が完全に切断されました。
答え1
ifconfig -s
または、同じコマンドを使用する代わりに、次のファイルを確認してWi-Fi接続の状態を監視することもできます。netstat -i
/sys/class/net/wlan0/flags
デバイスの電源が入っているかオフになっているかを示します。パケット転送については何も知らないので、接続が機能しているかどうかを確認することは実際には役に立ちません。その内容/値は0x1003
(on)と0x1002
(off)です。
/sys/class/net/wlan0/operstate
接続が機能しているかどうかを示します(パケットの送受信中)。このRUNNING
ファイルはと同じですifconfig
。その値up
はとですdown
。
/sys/class/net/wlan0/carrier
のように動作します/sys/class/net/wlan0/operstate
。対応する値は1
(上位)と0
(下位)です。デバイスの電源が切れるとファイルは空です。