歡迎您光臨本站 註冊首頁

pptp進程管理問題

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

pptp進程管理問題

我正在做一個對pptp運行管理的程序。
用execl 函數調用pptp-1.7.2 不知道要傳哪些參數進去。請那位高手告訴我。
持續等待中。

程序的流程大致為:
typedef struct process_tag
{
pid_t pid;
char state; //enable or disable
struct xmlnode * pptp_parameter;   //運行pptp的參數;
char name; // 用戶操作的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函數去調用的,但現在不知到要傳那些參數進行。請大家告訴我。先謝謝了。
持續等待中!!!!!!!!!!!!!!!!!!!!!!

或發郵件給我的郵箱[email protected]
《解決方案》

pptp-1.7.2.tar.gz 下載地址為:
http://sourceforge.net/project/showfiles.php?group_id=33063
《解決方案》

回復 #1 jieikei11 的帖子

似乎應用表述的不是很明晰
《解決方案》

謝謝回復,我就是想問你們。我用execl()函數調用 pptp-1.7.2程序時,execl這個函數的參數包含那些內容。因為 pptp-1.7.2配置文件的內容全是英文,我看不明白。
《解決方案》

(3)通過檢查每個process_tag 節點的state成員是否為「enable」, 如果為"enable" 則創建一個進程,啟用一個pptp進程。

[火星人 ] pptp進程管理問題已經有356次圍觀

http://coctec.com/docs/service/show-post-22654.html