我配置了一个 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