在程序中检查网络状态并控制 PPP
-
09-06-2019 - |
题
所以我在 Linux 下使用蜂窝调制解调器运行 PPP。我正在编写的程序需要在发送任何数据之前知道链接是否处于活动状态。
我可以选择哪些检查
- 如果链接可用
- 如果它路由到我控制的服务器(正如我之前所说,它不会访问互联网)
另外,重新启动它的最佳方法是什么 - 我希望程序控制它何时启动和停止,所以我认为 init.d 不合适。使用 system()
好像没有给出PID,除了这个还有其他选择吗 fork()
和一群 exec??()
打电话?
Linux on ARM 上的 C(使用 buildroot 的自定义发行版)。
解决方案
您可以使用 ip-up
pppd 的脚本功能,使其在 IP 接口启动并准备就绪时执行程序。详细信息在 pppd(8) 手册页 - 搜索“ip-up”。
要重新启动 pppd,请使用 linkname
参数设置已知的 pidfile 名称(/var/run/ppp-name.pid
)。还可以使用 persist
选项。当您想重新启动 pppd 时,请发送 SIGHUP
信号。同样,这在手册页中进行了描述。
其他提示
你可以解析 /proc/net/route
.
不隶属于 StackOverflow