如何配置 system d 服务以在重新引导情况下停止其他服务之前运行停止脚本(RHEL 7 和 RHEL 9)

如何配置 system d 服务以在重新引导情况下停止其他服务之前运行停止脚本(RHEL 7 和 RHEL 9)

我有一个 systemd 服务,在重新启动时停止该服务时遇到问题。

脚本 /home/user1/bin/myscript-shutdown 依赖于文件系统的启动。但看起来文件系统在 /home/user1/bin/myscript-shutdown 完成之前已关闭(磁盘已卸载)。

我如何更正以下问题,以便 ExecStop 脚本在关闭任何系统相关服务(如存储、网络等)之前首先完成。同样,当系统重新启动时,我希望在我的服务启动之前启动所有系统服务(存储、网络)。

我猜诀窍在于“之后/之前/想要”,但我不知道正确的值。

这就是我目前所拥有的:

[Unit]
Description=My Service
After=syslog.target network.target
Wants=network.target
Before=shutdown.target reboot.target halt.target kexec.target

[Service]
RemainAfterExit=yes
User=user1
Group=group1
LimitNOFILE=65536
LimitMEMLOCK=infinity
ExecStart=/home/user1/bin/myscript-startup
ExecStop=/home/user1/bin/myscript-shutdown
TimeoutStopSec=15min

[Install]
WantedBy=multi-user.target

相关内容