[Unit]
Description=test
Before=shutdown.target
[Service]
ExecStart=/bin/true
ExecStop=/usr/local/bin/test.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
我尝试了很多例子,但都没用。上面的示例在重启和关机时都有效。我只想在关机时工作。
我没有服务器。这是我的个人电脑。我有 Gnu/linux 操作系统。是否可以仅在关机时运行脚本而不重新启动?
答案1
您可以在脚本中测试是否重新启动、停止或关闭系统,并决定相应的操作。
例如:
#!/bin/bash
if ! systemctl list-jobs | grep -q -e "reboot.target.*start"; then
printf "Not rebooting\n"
fi
您man systemd.special
可以看到所有目标。您可能需要特别注意:
- 关机目标
- 重启目标
- 停止目标
- 关机目标