我的理解是 acpid 捕获电源事件,例如关闭盖子,并根据定义的规则,它触发关闭、睡眠等活动。
那么,我可以说运行shutdown -h now
.看起来确实如此,因为 acpid 服务本身正在shutdown -h now
配置文件中运行命令。
我还想知道服务器是否需要 acpid。我们可以为服务器提供哪些类型的电源事件?
答案1
作为一般规则,是的,您确实需要运行守护程序才能正确有序地关闭。内核的 ACPI 模块只是充当用户空间组件的中介,这实际上是响应事件的组件。但是请注意,在某些系统上,systemd 可以在根本不需要 acpid 的情况下处理此问题(尽管 systemd 在响应事件方面的灵活性要低得多) ACPI 事件,因此有些人仍然在 systemd 系统上运行 acpid)。
就服务器而言,大部分事件类型相同,并且它们不一定与电源相关。您可能看到的事件包括但不限于:
- 按电源按钮。
- 关闭或打开盖子(在笔记本电脑、二合一设备和某些带有集成保护壳的平板电脑上)。
- 对接和断开对接(与盖子开关相同类型的系统),可能具有类似于电源按钮的特殊触发事件,用于告诉系统准备好断开对接(尽管这不再常见,因为您连接的大多数东西如今通过扩展坞可以热插拔)。
- 在某些系统上热插拔和热移除某些类型的设备。
- 在二合一系统上切换模式(如果它不像按键那样处理)。
- 某些系统上的睡眠按钮(通常这实际上是按键,而不是 ACPI 事件)。
- 热节流。在许多现代系统(尤其是服务器和笔记本电脑)中,如果某些系统组件过热或接近过热,您会收到 ACPI 事件。
- 任何数量的低级系统内部错误条件,可能与其他报告机制重叠(我工作的地方至少有一台服务器,每当遇到内存错误时就会触发 ACPI 事件,尽管事实上这些错误是由操作系统完全不同的部分)。