Shutdown
當我按下電源按鈕時,哪個守護程序或 Linux 命令使 init 0 或關機發生?
當我按下電源按鈕時,Linux 會進入 init 0(或 shutdown clean)。在過去(2003 年),我必須配置 acpid 才能為電源按鈕提供關機功能。今天在 Slackware-current 我做了:
貓
/etc/apci/event/default
#event=button power.* #action=/sbin/init 0
我看到該功能用 # 註釋,表示已禁用。所以問題是:當我按下電源按鈕時,哪個守護程序提供了 init 0 功能?其他發行版可能有 systemd,但在 Slackware 上我們沒有 systemd。即使評論了電源按鈕線,它是否也很糟糕?
找到解決方案。Slackware 上的 acpi 電源按鈕由 acpid 守護程序管理,很容易測試:我啟動了一個禁用 acpid 的 vm,當我按下電源按鈕時沒有任何反應。電源按鈕 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