当我按下电源按钮时,哪个守护进程或 Linux 命令使 init 0 或 shutdown 发生?

当我按下电源按钮时,哪个守护进程或 Linux 命令使 init 0 或 shutdown 发生?

当我按下电源按钮时,Linux 进入 init 0(或干净关闭)。在过去(2003 年),我必须配置 acpid 才能为电源按钮提供关机功能。今天在 Slackware-current 上我做了:

/etc/apci/event/default

#event=button power.*
#action=/sbin/init 0

我看到该函数用 # 注释,这意味着禁用。那么问题是:当我按下电源按钮时,哪个守护进程提供了 init 0 函数?其他发行版可能有 systemd,但在 Slackware 上我们没有 systemd。即使电源按钮线被注释,它是否很酸?

答案1

找到解决方案。 Slackware 上的 acpi 电源按钮由 acpid 守护进程管理,很容易测试:我启动了一个禁用 acpid 的虚拟机,当我按下电源按钮时,没有任何反应。电源按钮 init-0-way 是默认配置的,在旧发行版上我必须手动编辑它,现在默认启用,但您可以配置 /etc/acpi/events/default (或您选择的其他名称)来配置这条“路”在另一个庄园里。例如,如果我想要与关闭命令不同的消息,我创建一个文件

vim /etc/acpi/events/myway

与那些内容

event=button/power
action=/etc/acpi/button.sh "%e"

最后我使用此内容创建脚本 /etc/acpi/button.sh

  /sbin/shutdown -h now "My message"

我重新启动 acpid 并工作

/etc/rc.c/rc.acpid restart

答案2

我认为与系统现在发现在/etc/systemd/logind.conf

我只知道关于设置 - 电源 - 暂停和电源按钮与 RHEL/CentOS 7

当按下电源按钮时......暂停,关闭电源,不执行任何操作。

man logind.conf

相关内容