Linux

如何在關機前使用 systemd 執行腳本?

  • December 4, 2018

我需要在該[install]部分中添加什麼,以便 systemd/home/me/so.pl在關閉之前以及在/proc/self/net/dev被銷毀之前執行?

[Unit]
Description=Log Traffic

[Service]
ExecStart=/home/me/so.pl

[Install]
?

建議的解決方案是將服務單元作為普通服務執行 - 請查看該[Install]部分。所以一切都必須反過來考慮,依賴關係也是如此。因為關機順序是反向啟動順序。這就是為什麼腳本必須放在ExecStop=.

以下解決方案對我有用:

[Unit]
Description=...

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=<your script/program>

[Install]
WantedBy=multi-user.target

RemainAfterExit=true當您沒有ExecStart操作時需要。

創建文件後,確保systemctl daemon-reloadsystemctl enable yourservice --now

我剛從 systemd IRC 得到它,學分將歸於 mezcalero。

引用自:https://unix.stackexchange.com/questions/39226