【问题标题】:Checking network status and controlling PPP in a program在程序中检查网络状态和控制 PPP
【发布时间】:2010-09-08 06:06:57
【问题描述】:

所以我在 linux 下使用蜂窝调制解调器运行 PPP。我正在编写的程序需要在发送任何数据之前知道链接是否处于活动状态。

我有哪些检查选项

  • 如果链接可用
  • 如果它路由到我控制的服务器(它不像我之前所说的那样连接到 Internet)

另外,重新启动它的最佳方法是什么 - 我希望程序控制它何时启动和停止,所以我认为 init.d 不合适。使用system() 似乎并没有给出PID,除了fork()exec??() 的呼叫之外还有其他选择吗?

基于 ARM 的 Linux 上的 C(使用 buildroot 的自定义分发)。

【问题讨论】:

  • @Adam:代表重新计算完成。对不起你的损失。 :(
  • 哦,谢谢,损失很小。老实说,我认为随着时间的推移迁移所有内容会更好。

标签: c linux networking embedded ppp


【解决方案1】:

您可以使用 pppd 的ip-up 脚本功能让它在 IP 接口启动并准备就绪时执行程序。详情在pppd(8) man page - 搜索“ip-up”。

要重新启动 pppd,请使用 linkname 参数设置已知的 pidfile 名称 (/var/run/ppp-name.pid)。也使用persist 选项。当你想重启 pppd 时,发送SIGHUP 信号。同样,这在手册页中有描述。

【讨论】:

    【解决方案2】:

    你可以解析/proc/net/route

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 2011-03-04
      • 2019-03-24
      • 1970-01-01
      相关资源
      最近更新 更多