我正在尝试创建一个服务,使用ExecStart
运行多个脚本,其中一些可能失败。 我需要忽略这些失败的脚本并返回服务成功。
以前我使用upstart
来实现这一点。
start on runlevel [23]
stop on shutdown
script
set +e # Disable exit on non 0
stop sys_process_script
start sys_init_script
start sys_process_script
set -e # Enable exit on non 0
end script
但我不知道如何忽略失败的脚本。这是我目前的实现方式。
[Unit]
Description=System starter
[Service]
Type=forking
ExecStart=/bin/systemctl stop sys_process_script
ExecStart=/bin/systemctl start sys_init_script
ExecStart=/bin/systemctl start sys_process_script
如果在systemctl
或者.service - onFailure
中失败了,有没有办法忽略脚本?
systemd
调用systemctl
,那么您正在做一些错误的事情 :-) 查阅 目标单元配置 手册,该手册解释了如何以统一的方式将一系列systemd
命令分组。 - Gwyneth Llewelyn