Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4180408
  • 博文数量: 776
  • 博客积分: 13014
  • 博客等级: 上将
  • 技术积分: 10391
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-22 17:00
文章分类

全部博文(776)

文章存档

2015年(55)

2014年(43)

2013年(147)

2012年(20)

2011年(82)

2010年(429)

分类:

2010-03-10 21:27:29

我想在uc下实现pppd的自动重拨,当然是在不kill进程的情况下,要怎么实现,好象linux下可以用wvdial来实现,不过好象也是kill了wvdial的进程后,重新调用启动脚本.
因为重新启动的话,进程号会增加,所以想在不kill进程的情况下,检测是否掉线,如果掉线就重拨,应该怎么实现啊??

fzulxm 发表于 2009-1-3 15:17

可以通过修改PPPd拨号脚本来实现自动重拨(/etc/ppp/peers/gprs),例如:
holdoff 45  //拨号超时45秒
maxfail 6    //重拨次数6次

fzulxm 发表于 2009-1-3 15:32

如果用新的进程来重新进行拨号会出现僵死进程(原先的拨号进程),不过可以用waitpid来结束该进程。
  if(pid != 0)
  {
     if (waitpid(pid,NULL,0)  !=  pid) //等待PPPD僵死进程结束
     {
        printf("Wait pppd pid error!\n");
        return;
     }   
  }

osboy 发表于 2009-1-3 15:37

ok,谢谢你的回答,很仔细,谢谢。

public_rtos 发表于 2009-2-3 11:18

用kill(pid,0)也可以检测PPPD进程是否退出,如果退出就重新拨号。
阅读(5690) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~