Ini*_*ian 3 centos systemd systemd-journald
我有一个简单的systemd服务单元,可以在服务定义中python定义的无条件退出时重新启动我的脚本。Restart=always我只是想绝对确保即使脚本以某种方式挂起,我也可以通过启用WatchdogSec=单元文件中的变量来重新启动它。
我的问题是systemd 日志的官方文档没有解释清楚。
引用同一页面,
WatchdogSec=配置服务的看门狗超时。启动完成后,看门狗被激活。该服务必须
sd_notify(3)定期调用"WATCHDOG=1"(即“keep-alive ping”)。
不清楚的部分是,服务本身是否会负责维护与看门狗服务的 ping(或者)它正在运行的应用程序(在我的例子中 - Python 脚本)需要通过更新提到的环境变量来维护 ping。
我的简单服务定义
[Unit]
Description=dev-Status: Computes RF device availability status
[Service]
Type=simple
EnvironmentFile=/etc/sysconfig/db_EndPoint
ExecStart=/usr/bin/python /opt/foobar/foobar.py
RestartSec=10
Restart=always
[Install]
WantedBy=default.target
Run Code Online (Sandbox Code Playgroud)
因此,如果我仅添加以下行到此服务文件中,它会自动重新启动我的脚本吗?
WatchdogSec=30s
Run Code Online (Sandbox Code Playgroud)
小智 5
要“拍”或 ping 看门狗,您可以使用 python systemd包发送通知:
from systemd.daemon import notify, Notification
notify(Notification.WATCHDOG)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7357 次 |
| 最近记录: |