systemd 仅在另一个服务运行没有错误时才启动服务

jes*_*516 5 systemd

仅当另一个服务单元运行没有任何错误时,我如何才能启动一个服务单元?

我有 2 个服务单位:

#echo-date-0.service
[Unit]
Description=

[Service]
ExecStart=/home/user/bash/echo-date-0.sh

[Install]
WantedBy=multi-user.target



#echo-date-1.service
[Unit]
Description=

[Service]
ExecStart=/home/user/bash/echo-date-1.sh
Requires=echo-date-0.service
After=echo-date-0.service

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我有脚本 echo-date-0.sh 返回退出代码 1(退出 1),如果我检查 echo-date-0.service 的状态,我会看到:

Active: failed (Result:exit-code) 
Process: (code=exited, status=1/FAILURE)
Run Code Online (Sandbox Code Playgroud)

但是,echo-date-1.service 运行,即使我有它需要 echo-date-0.service。如果 echo-date-0.service 失败,如何停止 echo-date-1.service 运行?

Big*_*gon 0

Requires=并且After=需要在该[Unit]部分中