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