如何在另一个 systemd 服务失败时启动 oneshot systemd 服务

如何在另一个 systemd 服务失败时启动 oneshot systemd 服务

我想在 systemd 服务失败时启动本机应用程序(c++)。网上有很多文章描述了类似的内容:失败时启动 shell 脚本。有些人通过同一服务进行操作,另一些人则使用其他服务。我尝试从另一个服务启动本机应用程序。

应用程序服务器.service

[Unit]
Description=app server
OnFailure=appServerCrashAlerter.service
[Service]
Type=simple
ExecStart=/home/john/Documents/app
Restart=always
RestartSec=3
KillMode=process
[Install]
WantedBy=graphical.target

appServerCrashAlerter.service

[Unit]
Description=app server crash alerter
[Service]
Type=oneshot
ExecStart=/home/john/Documents/alerter
User=nobody
Group=systemd-journal

第一个服务失败时不会启动警报服务。我无法启用第二个服务,但当我启动它时,应用程序会正确启动。我使用的是 Ubuntu 20.04 和 systemd 245 (245.4-4ubuntu3.4)。

相关内容