在Linux系统下注册DeviceManager

Register to the DeviceManager of Linux

本文关键字:注册 DeviceManager 系统 Linux      更新时间:2023-10-16

我在这里读了一些问题,但没有真正找到我在这里面临的具体问题…

我需要在一个特定的项目中实现一个"DeviceCache",该项目缓存了/proc/net/dev中发现的所有设备名称。语言是C/++

所以我考虑在上面提到的目录中每隔X秒查找一个单独的线程,但被鼓励找到一个更直接的方法。如何将进程的方法注册到linux的设备管理器?是否有类似事件/信号的方式?

我看了其他网站,但找不到任何有用的代码…我对linux编程比较陌生,但愿意学习新的东西:)

根据您的评论,您真正想要的是跟踪在任何给定时间哪些网络接口是可操作的。

确定网络接口是否正常的唯一方法是测试它——毕竟,另一端的路由器可能是关闭的。例如,您可以定期发送ping。

然而,如果你只是想知道媒体是否坏了(即,网线被拔掉了),看看这些SO问题:

    Linux载波检测通知
  • 获取Linux上网络接口更改的通知

如果你只是想被通知的实际硬件级注册接口(例如,当USB网卡插入),你可以使用udev事件,如果你的平台有udev;否则,我相信还有另一个netlink类别用于硬件添加/删除事件。