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