Next Previous Contents

2. 請注意已過時的資訊

我剛剛發現底下有一些資料已經過時了。其中來自 the latest sysvinit packageinit daemon 比起我所能描述的還要簡陋。 儘管看起來目前的版本與該程式完成時的版本相容,但當中仍然有一些對 UPS 相當重要 的支援沒有文件說明。

底下所簡述的控制機制只能讓 powerd 送給 init powerfailpowerok 這兩個訊息之一而已。init 接到 powerfail 訊息時執行一個命令,而當它接到 powerok 時則執行另一個命令。 這將導至 powerd 在處理低電力訊號及其他特殊狀況時產生邏輯上的複雜性。

較新版本的 init (像是 2.58 版) 就比較精良了。 它可以在接到訊號時選擇 三個 script 中之一來執行。如此一來, init 可以在接到電源斷電訊號時執行 powerfail script ,可以執行一個 powerfailnow script 做立即的關機 ,以及一個 powerok script 來停止任何正在進行的關機動作。這樣比起要我們自行處理這些機制要簡單多了。

儘管這裏大部分的討論仍假設使用舊的 init 通訊方式, 我已加入了兩個新的章節來描述新的連線方法。這兩個章節是 <@ref>ciroTrust Energy Protector 400/650 及 <@ref>ciroTrust Energy Protector 400/650<@ref>apc700APC Smart-UPS 700。其中前者特別詳細。二者都包含了一個 powerd.c 檔, 它可以在收到低電力訊號時送訊號給 init 以進行緊急關機, 就像是 /etc/inittab 檔中那幾行所寫的一樣。其餘的, 我所能告訴您的就只有請您看看 init 的原始碼了。

就我所知的,在以下所列的 UPS 軟體套件中有許多也採用了新式的連線方式。


Next Previous Contents