我想在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进程是否退出,如果退出就重新拨号。
阅读(5763) | 评论(0) | 转发(0) |