在linux中收到有关“以太网电缆插入”事件的通知

2024-09-29 17:11:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个在linux上运行的Python应用程序。我希望能够注册并在网络电缆插入/拔出时得到系统通知。在

我已经在使用pyUdev(针对libUdev的python绑定)来获得USB插件事件的通知。但是,由于networketh0模块(例如)始终保持加载状态(不管电缆是否插入),我无法获得所需的信息。它只适用于if up/down事件。在

我读过很多关于提供这个功能的Windows WMI的文章,但是在linux上没有。我看的方向对吗?在

一种python方法(python库)将是理想的,因为我希望将其与我的程序集成。在


Tags: 模块网络插件信息应用程序iflinux状态
2条回答

有许多方法可以通过轮询获得网络接口的“启动”状态,从简单地解析ifconfig输出到读取/proc/net/的状态。。。伪文件。在

然而,要想在此类事件中得到通知(即不轮询自己),在Ubuntu上最好的选择是使用netplug包。默认情况下不安装,您需要: sudo apt get安装netplug

这里有一些文档:http://manpages.ubuntu.com/manpages/lucid/man8/netplugd.8.html

要设置它,您需要调整/etc/netplug/netplugd.conf和/etc/netplug/netplug脚本。有关这些配置文件的示例,请查看位于http://natisbad.org/dyn-net/index.html的“配置netplug”部分

使用/etc/netplug/netplug,您可以在网络关闭/关闭时调用自己的python脚本,这样您就可以为应用程序生成自己的事件类型。在

您研究过netplugd命令后,我不确定是否存在python包装器,但解析输出应该不难

相关问题 更多 >

    热门问题