在linux中,当网络连接断开时可以得到通知吗?
是否有任何操作系统服务需要我注册才能收到此类通知?
或者它有没有DBus服务?
发布于 2011-01-21 15:34:24
如果您使用的是NetworkManager,则可以从它获取状态(如果我没记错的话,这是通过dbus完成的)。
但是要注意,很多Linux机器都不使用NetworkManager,所以你必须处理这个问题。并且一些机器具有多个网络连接,等等。
进一步的“网络连接中断”对你来说可能不是最有用的事情。例如,可以有网络连接,但路由器失去了Internet连接,因此您只能连接到本地计算机。或者,有时您会看到部分Internet可访问性。根据您需要它的用途,您可能需要采取其他方法。
最后,有时网络连接中断后很快就会恢复,尤其是无线网络。最好忽略这些短暂的更改(除非IP地址更改)。
发布于 2011-01-21 15:35:28
请参见this forum thread (linuxquestions.org)。基本上,你需要修改推送通知的内核。Networkmanager确实有一个DBUS API,但定期轮询是一个更通用的解决方案。
https://stackoverflow.com/questions/4756303
复制相似问题