我们有一个运行 BusyBox Linux(内核 2.6.x)的嵌入式 SoC,当网络连接断开或出现时,我们需要监控或至少及时通知(捕捉其他事件会很好,但不是必需的) .
我花了很长时间在谷歌上搜索和阅读 SO 线程,根据特定操作系统上手头的确切任务和月相等,似乎有很多不同的答案。
我们的具体标准是:
- 我们从 C 程序内部查看,因此 C 代码优于命令行调用。
- 尽管接口始终存在,但我们不能保证它是否已经启动或曾经启动(我看过一些示例的评论,这些示例仅在界面处于
up
即使链接状态时也有效down
) - 最好不必轮询,而是在状态更改消息发生时发送/捕获它们。我相信内核可能已经从驱动程序中获得了这样的消息,但我不确定是否有什么可以挂钩的?
我已将可能的看似答案缩小到几个候选人,但无法确定哪个是最好的(开销最小,最可靠,在未来版本中最不可能中断):