我有如下的 systemd 文件
[Unit]
Description=ACDS Relay Service (running on port 10400)
[Service]
Type=forking
PIDFile=/opt/liggable/relay/var/relay.pid
RemainAfterExit=no
ExecStart=/bin/bash /opt/liggable/relay/bin/start-acds.sh
ExecStop=/bin/kill $MAINPID
Restart=always
WorkingDirectory=/opt/liggable/relay
User=javauser
Group=javauser
PrivateTmp=true
TimeoutSec=90
SuccessExitStatus=1 143
[Install]
WantedBy=multi-user.target
预期的:
上面/opt/liggable/relay/bin/start-acds.sh
启动了两个java进程A和B,其中进程B停止进程A进行其中一个操作,在此期间我希望系统等待一段时间以等待A启动,如果没有启动则继续进行重新启动 A,否则不执行任何操作
实际的:
启动/opt/liggable/relay/bin/start-acds.sh
两个java进程A和B,其中B想要重新启动A,这样做时systemd会Restart=always
重新启动服务A和B,这不是预期的行为。
如果我想在进程 B 启动进程 A 之前等待一段时间而不是 systemd 重新启动它,有人可以建议我该怎么做吗?