我有一个systemd脚本,如果我直接调用它或如果通过systemd调用,则该脚本可以正常工作:
systemctl停止XXX.service
但是重新启动或关闭系统后,脚本无法运行。
这是systemd脚本:
[Unit]
Description=Run Scripts at Start and Stop
After=syslog.target network.target
[Service]
Type=oneshot
User=root
Group=root
RemainAfterExit=true
ExecStart=/usr/bin/echo start
ExecStop=/usr/bin/killall -u xxx
ExecStopPost=/bbb/stop_back.sh
TimeoutStopSec=5min 35s
[Install]
WantedBy=multi-user.target
答案 0 :(得分:0)
添加“ Requires”行似乎是使其正常工作的关键。
[Unit]
Description=Run Scripts at Start and Stop
Requires=syslog.target network.target
After=syslog.target network.target
[Service]
Type=oneshot
User=root
Group=root
RemainAfterExit=true
ExecStart=/usr/bin/echo start
ExecStop=/usr/bin/killall -u xxx
ExecStopPost=/bbb/stop_back.sh
TimeoutStopSec=5min 35s
[安装] WantedBy = multi-user.target