免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2104 | 回复: 4
打印 上一主题 下一主题

[vpn] pptp进程管理问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-16 23:17 |只看该作者 |倒序浏览
我正在做一个对pptp运行管理的程序。
用execl 函数调用pptp-1.7.2 不知道要传哪些参数进去。请那位高手告诉我。
持续等待中。

程序的流程大致为:
typedef struct process_tag
{
pid_t pid;
char state[128]; //enable or disable
struct xmlnode * pptp_parameter;   //运行pptp的参数;
char name[256]; // 用户操作的pptp名字。
  strcut process_tag *next;
}process_tag;

伪代码为
int main()
{

  (1)用每个pptp运行参数初始化process_tag 节。
  (2)创建unix域。设置为不阻塞监听。
  (3)通过坚持每个process_tag 节点的state成员是否为“enable”, 如果为"enable" 则创建一个进程,启用一个pptp进程。
  do
  {
     ret = select(......); //等待 每隔5秒  
     if(ret =>0)
     {
         (4)得到用户输入命令内容,
               (4.1)判断用户输入的命令是否有效,及那种类型的命令。格式可以自己定,我在程序中定的格式为” c xxx 或 d xxx“ 。
               (4.2)判断要操作的对象的名称与process_tag 成员name值是否匹配。如果匹配,则:
                    (4.2.1)如果是命令1 (即: d xxx),检查xxx 对应的pid 是否大于0,如果大于零,则杀死这个进程,把state 的值设置为“disable” pid 的值为-1;            
                              (4.2.2)如果是命令2 (即: c xxx),检查xxx 对应的pid 是否大于0,如果小于零,创建一个进程。则启用这个进程,把state 的值设置为“enbble” pid 的值为 =getpid();
        (5)while((exitpid = waitpid(-1, &state, NOHONG)) >0)
            {
                exitpid 与每个节点中的pid 成员比较,判断哪个匹配,找到了就设置其对应的成员pid = -1; stage ="disable"
                打印退出状态。
            }
          (3)通过坚持每个process_tag 节点的state成员是否为“enable”, 如果为"enable" 则创建一个进程,启用一个pptp进程。
      }

   }while(1);

}

在启用每个pptp时,我是用execl函数去调用的,但现在不知到要传那些参数进行。请大家告诉我。先谢谢了。
持续等待中!!!!!!!!!!!!!!!!!!!!!!

或发邮件给我的邮箱harris11727@yahoo.com

论坛徽章:
0
2 [报告]
发表于 2009-05-16 23:23 |只看该作者

论坛徽章:
0
3 [报告]
发表于 2009-05-17 00:15 |只看该作者

回复 #1 jieikei11 的帖子

似乎应用表述的不是很明晰

论坛徽章:
0
4 [报告]
发表于 2009-05-17 00:19 |只看该作者
谢谢回复,我就是想问你们。我用execl()函数调用 pptp-1.7.2程序时,execl这个函数的参数包含那些内容。因为 pptp-1.7.2配置文件的内容全是英文,我看不明白。

论坛徽章:
0
5 [报告]
发表于 2009-05-17 00:20 |只看该作者
(3)通过检查每个process_tag 节点的state成员是否为“enable”, 如果为"enable" 则创建一个进程,启用一个pptp进程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP