在Linux系统下注册DeviceManager
Register to the DeviceManager of Linux
我在这里读了一些问题,但没有真正找到我在这里面临的具体问题…
我需要在一个特定的项目中实现一个"DeviceCache",该项目缓存了/proc/net/dev中发现的所有设备名称。语言是C/++
所以我考虑在上面提到的目录中每隔X秒查找一个单独的线程,但被鼓励找到一个更直接的方法。如何将进程的方法注册到linux的设备管理器?是否有类似事件/信号的方式?
我看了其他网站,但找不到任何有用的代码…我对linux编程比较陌生,但愿意学习新的东西:)
根据您的评论,您真正想要的是跟踪在任何给定时间哪些网络接口是可操作的。
确定网络接口是否正常的唯一方法是测试它——毕竟,另一端的路由器可能是关闭的。例如,您可以定期发送ping。
然而,如果你只是想知道媒体是否坏了(即,网线被拔掉了),看看这些SO问题:
- Linux载波检测通知
- 获取Linux上网络接口更改的通知
如果你只是想被通知的实际硬件级注册接口(例如,当USB网卡插入),你可以使用udev事件,如果你的平台有udev;否则,我相信还有另一个netlink类别用于硬件添加/删除事件。
相关文章:
- 无法将结构注册为增强几何体3D点
- 如何使用AngelScript注册SFML Vector2运算符
- 在遍历处理程序的向量时注册和注销处理程序
- 有没有任务栏API可以立即应用注册表更改
- 使用QJsEngine在Qt中注册自定义类型
- 检查注册表项是否链接到(或副本)另一个注册表项
- 如何使用 TStyleManager::UnRegisterStyle() 取消注册样式
- WINAPI 注册应用程序重新启动时不清除打开的套接字
- SFML 碰撞永远不会在我的系统中注册
- 尝试从C++访问 UWP 的电子邮件邮件类会导致"REGDB_E_CLASSNOTREG类未注册"错误
- 用于创建/注册虚拟存储设备的 IOKit 驱动程序
- 如何添加预防措施以绕过未注册Microsoft.ACE.OLEDB.12.0?
- 进程外 EXE 的免注册 COM
- 如何注册Qt C++对象以在QML中使用它
- 在Qt中注册自定义元类型的别名类型
- 禁用地址共享注册表不起作用
- 如何从注册表项中提取配置单元和注册表名称
- C++库和自注册类:客户端应用程序中的工厂映射为空
- 注册表正在设置 1 个字符
- 在Linux系统下注册DeviceManager