Linux 下等待以太网线插入/拔出事件?

Linux 下等待以太网线插入/拔出事件?

我知道我可以通过 SIOCETHTOOL/ETHTOOL_GLINK ioctl 轮询链接状态,但这需要无休止地请求状态。解析 /var/log/messages 也是如此。所以我的问题是,在 Linux 下有没有办法等待用户空间的以太网电缆的状态变化?

答案1

怎么样ifplugd

ifplugd是一个 Linux 守护进程,它将自动配置您的以太网设备插入电缆时自动取消配置(如果拉动电缆)。这对于带有板载网络适配器的笔记本电脑非常有用,因为它只会在真正连接电缆时配置接口。

(也有netplugd,但它是已停产.)

答案2

sr_ 的解决方案比我的更好,但是您可以使用这些 ioctl 来sleep避免资源的无休止的压力。编写一个循环来调查是否存在有问题的链接向上/向下,然后在这两种情况下执行某些操作/不执行任何操作,然后sleep几秒钟。它只会在您的系统上产生一点负载。

相关内容