所以我在linux下使用蜂窝调制解调器运行PPP.我正在编写的程序在发送任何数据之前需要知道链接是否处于活动状态.
我有什么选择可以检查
>如果链接可用
>如果它路由到我控制的服务器(它没有像我之前所说的那样上网)
另外,重启它的最佳方法是什么 – 我希望程序控制它何时启动和停止,所以我认为init.d不合适.使用system()似乎没有给出PID,除了fork()和exec ??()调用之外还有其他选项吗?
C on Linux on ARM(使用buildroot进行自定义分发).
解决方法:
您可以使用pppd的ip-up脚本功能让IP接口启动并准备就绪时执行程序.详细信息在pppd(8) man page中 – 搜索“ip-up”.
要重新启动pppd,请使用linkname参数设置已知的pidfile名称(/var/run/ppp-name.pid).还可以使用persist选项.如果要重新启动pppd,请发送SIGHUP信号.同样,这在手册页中进行了描述.