如何忽略 Systemd 中“ExecStart”的失败

Cho*_*xmi 5 systemd ubuntu-16.04 systemctl ubuntu-18.04

我正在尝试创建一个运行多个脚本的服务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
Run Code Online (Sandbox Code Playgroud)

但我不知道如何忽略失败的脚本。这是我到目前为止的实现。

[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
Run Code Online (Sandbox Code Playgroud)

systemctl如果在或 中失败,是否有任何方法可以忽略脚本.service - onFailure

Joh*_*ene 0

让该二进制可执行文件或脚本返回退出代码零 (0)。