So stellen Sie fest, ob das Ethernet-Kabel unter Linux abgezogen ist.
Wenn der Name der Netzwerkschnittstelle eth0 ist
cat /sys/class/net/eth0/carrier
Sie kann anhand des in angezeigten Werts beurteilt werden. 0 ist der Trennungsstatus. 1 ist der Live-Zustand. Wenn Sie dies überwachen, können Sie leicht feststellen, ob das Kabel angeschlossen oder nicht angeschlossen ist.
Inotify kann jedoch nicht mit sysfs oder procfs verwendet werden. Also, wenn Sie selbst entscheiden https://stackoverflow.com/questions/26672414/inotify-add-watch-fails-on-sys-class-net-eth0-operstate Sie müssen das Ereignis über netlink wie in abrufen.
Wenn jedoch mehrere Netzwerkschnittstellen vorhanden sind, weiß ich nicht, von welcher Schnittstelle das LAN-Kabel getrennt wurde. In diesem Fall muss durch Kombinieren mit dem oben erwähnten Wert von / sys / class / net / eth0 / Carrier ermittelt werden.
Ich dachte, es könnte einen besseren Weg geben, aber ich konnte keinen Weg finden, dies zu sagen.
Vorerst habe ich beschlossen, den Tee nach dieser Methode schlammig zu machen.
Recommended Posts