如果在内核中启用了 acpi 模块,我们是否需要运行 acpid 服务来软关闭?

如果在内核中启用了 acpi 模块,我们是否需要运行 acpid 服务来软关闭?

我的理解是 acpid 捕获电源事件,例如关闭盖子,并根据定义的规则,它触发关闭、睡眠等活动。

那么,我可以说运行shutdown -h now.看起来确实如此,因为 acpid 服务本身正在shutdown -h now配置文件中运行命令。

我还想知道服务器是否需要 acpid。我们可以为服务器提供哪些类型的电源事件?

答案1

作为一般规则,是的,您确实需要运行守护程序才能正确有序地关闭。内核的 ACPI 模块只是充当用户空间组件的中介,这实际上是响应事件的组件。但是请注意,在某些系统上,systemd 可以在根本不需要 acpid 的情况下处理此问题(尽管 systemd 在响应事件方面的灵活性要低得多) ACPI 事件,因此有些人仍然在 systemd 系统上运行 acpid)。

就服务器而言,大部分事件类型相同,并且它们不一定与电源相关。您可能看到的事件包括但不限于:

  • 按电源按钮。
  • 关闭或打开盖子(在笔记本电脑、二合一设备和某些带有集成保护壳的平板电脑上)。
  • 对接和断开对接(与盖子开关相同类型的系统),可能具有类似于电源按钮的特殊触发事件,用于告诉系统准备好断开对接(尽管这不再常见,因为您连接的大多数东西如今通过扩展坞可以热插拔)。
  • 在某些系统上热插拔和热移除某些类型的设备。
  • 在二合一系统上切换模式(如果它不像按键那样处理)。
  • 某些系统上的睡眠按钮(通常这实际上是按键,而不是 ACPI 事件)。
  • 热节流。在许多现代系统(尤其是服务器和笔记本电脑)中,如果某些系统组件过热或接近过热,您会收到 ACPI 事件。
  • 任何数量的低级系统内部错误条件,可能与其他报告机制重叠(我工作的地方至少有一台服务器,每当遇到内存错误时就会触发 ACPI 事件,尽管事实上这些错误是由操作系统完全不同的部分)。

相关内容