如何监控Linux的Wifi状态
How can I monitor Wifi status for Linux
我想写一个应用程序来监控WIFI的状态,例如,如果Linux连接到AP,我可以收到通知,告诉我WIFI已经准备好了。对于系统,可以使用"iw"answers"wpa_li"命令。那么我该怎么办呢?创建一个每隔5秒扫描一次wifi的新线程?有人对此有更好的解决方案吗?提前谢谢。
我们目前正在经历Linux系统的这一部分的彻底更改。你可能听说过systemd
的辩论?systemd
将取代旧的SysV Init。在这个变化的过程中,监控网络接口的方式也会发生变化。虽然今天的发行版的解决方案是基于init
(或upstart
(在Ubuntu上))触发的脚本,但即将推出的发行版将基于systemd
脚本。到目前为止,我还没有使用过systemd
,但我发现了以下关于网络监控主题的文档:http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/。所有发行版都同意他们将尽快集成systemd
,因此一个经得起未来考验的解决方案应该使用它
systemd
之前(直到今天):
在Debian/Uubuntu上,您可以将脚本添加到文件夹/etc/network/if-up.d
中。每当接口"启动"时,就会调用该文件夹中的可执行文件。类似地,您也可以使用文件夹if-down.d
、if-post-down.d
、if-pre-up.d
。诸如接口id和其他一些参数将被传递给脚本。在Debian/Uubuntu上查看man interfaces
以了解更多信息。
其他发行版可能有自己的机制。
相关文章:
- 在C++/Linux中设置单调时钟的一些技巧
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何在linux终端中同时编译和运行c++代码
- 在Linux for Windows上编译C++代码时出错
- 如何找到锁定Linux futex的C++行
- 在linux上调试巨大的C++项目
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- c++方法参数只能在linux的发布模式下自行更改
- 在Linux和C++中的Windows上,散列字符串值会产生不同的输出
- 这里在 Linux 中具有"CreatePipe"和"CreateProcessW"功能吗?
- 函数在Windows或Linux上运行时表现不同
- 在Linux下捕获SIGKILL的C++程序
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- mysql C++ connector [mysql-connector-c++-8.0.19-linux-glibc2
- 哪个c/c++库可以用来处理linux的wifi连接
- 如何监控Linux的Wifi状态