如何使用 systemd WatchDog 允许来自子进程的活动 ping?

如何使用 systemd WatchDog 允许来自子进程的活动 ping?

我配置了一个 bash 脚本,该脚本通过管道传输多个进程以作为服务运行。这工作正常,但我现在想用它WatchdogSec来监视状态是否仍然正常,如果不是则重新启动所有子进程。

application-C 具有基于环境变量进行通知的逻辑WATCHDOG_USEC。如果调用应用程序,则可以正常工作,但作为脚本的一部分并且是最后一个进程时,则无法正常工作

逻辑或多或少是,如果应用程序 C 没有收到某些数据,则认为它不健康,因此所有内容都应该被终止并重新启动。

目前,服务守护进程每 30 秒重新启动一次所有进程,并且当脚本的一部分时,信号似乎无法从进程中工作。

看门狗可能只接受来自 bash shell 进程的 ping。

我可以让它以某种方式工作吗?

[Unit]
Description=My script
After=multi-user.target

[Service]
WorkingDirectory=/home/pi/src/
ExecStart=/bin/bash myscript.sh
WatchdogSec=30s
Restart=on-failure

[Install]
WantedBy=multi-user.target

脚本:

application-a | application-b |application-c

相关内容