Shutdown
如何在 Debian 9 或 Raspbian 8 (Jessie) 上關閉時執行腳本
我想在重新啟動並關閉時執行這個 shell 腳本:
#!/bin/sh touch /test
它的權限是
-rwxr-xr-x 1 root root 22 Feb 24 09:34 /etc/init.d/te1
它有這個連結
/etc/rc0.d/K01te1 -> ../init.d/te1 /etc/rc6.d/K01te1 -> ../init.d/te1
如果我有這個連結,它在啟動時工作
/etc/rc5.d/S01te1 -> ../init.d/te1
但我需要它在關機時執行。
如何在 Debian 8 和 9 測試中做到這一點?
這個建議
touch /var/lock/subsys/te1
沒有奏效。
我的印像是,其他人似乎在執行此程序時也遇到了問題。似乎從 Debian 8.0 (Jessie) systemd 開始破壞了對 System V init 的兼容性。
所以這裡建議改為創建一個 systemd 服務。此處使用的解決方案如下所示:
[Unit] Description=The te1 script [Service] Type=oneshot RemainAfterExit=true ExecStart=/bin/true ExecStop=/usr/local/bin/te1 [Install] WantedBy=multi-user.target
systemd 服務需要保存
/lib/systemd/system/te1.service
並安裝在sudo systemctl enable te1
.