2. 请注意已过时的资讯
我刚刚发现底下有一些资料已经过时了。其中来自 the latest sysvinit package 的 init daemon
比起我所能描述的还要简陋。尽管看起来目前的版本与该程式完成时的版本相容,但当中仍然有一些对 UPS 相当重要 的支援没有文件说明。
底下所简述的控制机制只能让 powerd 送给 init powerfail 或 powerok 这两个讯息之一而已。init 接到 powerfail
讯息时执行一个命令,而当它接到 powerok 时则执行另一个命令。这将导至 powerd 在处理低电力讯号及其他特殊状况时产生逻辑上的复杂性。
较新版本的 init (像是 2.58 版) 就比较精良了。它可以在接到讯号时选择 三个 script 中之一来执行。如此一来, init
可以在接到电源断电讯号时执行 powerfail script ,可以执行一个 powerfailnow script 做立即的关机,以及一个 powerok
script 来停止任何正在进行的关机动作。这样比起要我们自行处理这些机制要简单多了。
尽管这□大部分的讨论仍假设使用旧的 init 通讯方式,我已加入了两个新的章节来描述新的连线方法。这两个章节是 Trust Energy Protector
400/650 及 APC Smart-UPS 700。其中前者特别详细。二者都包含了一个 powerd.c 档,它可以在收到低电力讯号时送讯号给 init
以进行紧急关机,就像是 /etc/inittab 档中那几行所写的一样。其馀的,我所能告诉您的就只有请您看看 init 的原始码了。
就我所知的,在以下所列的 UPS 软体套件中有许多也采用了新式的连线方式。
|
|