我正在编写一个在 Linux 上运行的 Python 应用程序。我希望能够注册并成为notified如果系统网络电缆已插入/拔出.
我已经在使用了pyUdev http://packages.python.org/pyudev/api/index.html(libUdev 的 python 绑定)以便收到 USB 插入事件的通知。但是,由于网络 eth0 模块(例如)始终保持加载状态(无论是否插入电缆),因此我无法获得所需的信息。它仅适用于向上/向下事件。
我读过很多关于 Windows WMI 提供此功能的文章,但没有一篇关于 Linux 的文章。我的方向正确吗?
执行此操作的 Python 方法(Python 库)将是理想的选择,因为我想将其与我的程序集成。
有很多方法可以通过轮询获取网络接口的“UP”状态,包括简单地解析ifconfig输出,读取 /proc/net/... 伪文件的状态。
然而,为了一种方式notified(即不轮询自己)对于此类事件,您在 Ubuntu 上的最佳选择是使用netplug包裹。默认情况下没有安装,您需要:
须藤 apt-get 安装 netplug
一些文档在这里:http://manpages.ubuntu.com/manpages/lucid/man8/netplugd.8.html http://manpages.ubuntu.com/manpages/lucid/man8/netplugd.8.html
要进行设置,您需要调整 /etc/netplug/netplugd.conf 和 /etc/netplug/netplug 脚本。有关这些配置文件的示例,请查看“配置 netplug”部分:http://natisbad.org/dyn-net/index.html http://natisbad.org/dyn-net/index.html
使用 /etc/netplug/netplug,您可以在网络断开/接通时调用您自己的 python 脚本,这样您就可以为您的应用程序生成您类型的事件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)