我在这里读了一些问题但是我真的找不到我在这里遇到的具体问题......
我需要在特定项目中实现“DeviceCache”,该项目缓存在/ proc / net / dev中找到的所有设备名称。 语言是C / ++
所以我想到了上面提到的目录中每隔X秒看一个单独的线程,但我们鼓励他们找到更直接的方法。 如何将我的进程方法注册到linux的设备管理器? 是否有类似事件/信号的方式?
我查看了其他网站,但找不到任何有用的代码......我对Linux编程比较新,但愿意学习新东西:)
答案 0 :(得分:1)
根据您的评论,真正想要的是跟踪哪些网络接口在任何给定时间都可以运行。
确定网络接口是否启动的唯一真正方法是测试它 - 毕竟,另一端的路由器可能已关闭。例如,您可以定期发送ping。
但是,如果您只是想知道媒体是否发生故障(即网络电缆已拔下),请查看以下SO问题:
如果您只是希望收到有关接口的实际硬件级别注册的通知(例如,当插入USB NIC时),如果您的平台具有udev,则可以使用udev事件;否则,我相信硬件添加/删除事件还有另一个netlink类别。