觀看單篇文章
舊 2004-10-25, 02:54 AM   #14
dou0228
等級:34 | 上線時間:1316小時 | 離升級還需:49小時等級:34 | 上線時間:1316小時 | 離升級還需:49小時等級:34 | 上線時間:1316小時 | 升級還需:49小時等級:34 | 上線時間:1316小時 | 升級還需:49小時
拉登長官
 
dou0228 的大頭照
 
註冊日期: 2002-08-26
上網方式: 2M/256K
文章: 1,149
精華: 0
引用:
最初由 dekuo 發表
真是慚愧 ... 我之前手賤改過這支 script 就沒再全程測試一遍 ...
今天才發現我自己的 bsd 斷了但是 ppp 不但沒砍掉還累積了一堆 ppp process ...
我的感覺是, 這種程式如果要用 script 寫, 可以.
但是對於 pid 的判斷就必須要很小心才可以.

ps 在 Linux/FreeBSD 命令還算有相關性, 如果到了 Solaris 可就( 沒記錯的話是 ps -ef )
我的建議是根本不要用 ps 去判斷, 因為有 portable 問題

解法則是:
1. 不要用 Script 啦, 用 C 寫, 以 EXEC(3) 那類的執行, 自然可以控制 pppd, 但是要小心使用 EXEC(3) 那類的函式, 否則會有安全性問題
2. 以 pppd 的 pidfile 來做不就得了, 這樣解起來就容易的多

pppd 有一個選項: linkname <name>
因此, pppd 會建立 /var/run/ppp-<name>.pid 或是 /etc/ppp/ppp-<name>.pid
如此, 該檔案內容自然就是 pid 囉
而且這樣可以同時跑兩個 pppd 也不須要 killall 砍掉其它的 pppd


O/S: XPro SP2;Gentoo 05-r1;F-BSD 5.4/N-BSD 2.0.2
替代役第一梯次, 矯正役笨蛋
Bug !?
Red Hat 技術支援的改變引起眾怒_原文出處
echo $(echo 4jp022f@n5549i5o9or | tr 0-9a-z 0-3d-l6-9m-w4-5) | tr i .
就讓 LP 去耍, 我們好在旁邊笑
QoS 沒中文資料!?
dou0228 目前未上線  
回覆時引用此文章