Comment déterminer si le câble Ethernet est débranché sous Linux.
Si le nom de l'interface réseau est eth0
cat /sys/class/net/eth0/carrier
Il peut être jugé par la valeur affichée dans. 0 est l'état de déconnexion. 1 est l'état en direct. Donc, si vous surveillez cela, vous pouvez facilement déterminer si le câble est connecté ou déconnecté.
Cependant, inotify ne peut pas être utilisé avec sysfs ou procfs. Donc si vous décidez par vous-même https://stackoverflow.com/questions/26672414/inotify-add-watch-fails-on-sys-class-net-eth0-operstate Vous devez obtenir l'événement en utilisant netlink comme dans.
Cependant, s'il existe plusieurs interfaces réseau, je ne sais pas de quelle interface le câble LAN a été déconnecté. Dans ce cas, il est nécessaire de déterminer en combinant avec la valeur de / sys / class / net / eth0 / carrier mentionnée ci-dessus.
Je pensais qu'il y avait peut-être un meilleur moyen, mais je n'ai pas trouvé de moyen de le dire.
Pour le moment, j'ai décidé de rendre le thé boueux par cette méthode.
Recommended Posts