Python 中的 Systemd 守护进程,支持看门狗

Systemd Daemon in Python with watchdog support

我想在 python 中编写一个通过 systemd 启动的守护进程。

我想使用 Type=notify,这样我就不必使用双叉魔术了。

根据文档:

The reference implementation for this notification is provided by libsystemd-daemon.so

...如何用 Python 做到这一点?

或许,您可以使用 sdnotify python module which is a pure-python implementation of sd_notify 协议。其实协议很简单,所以模块实现也很短。

要使用看门狗机制,您应该将 WatchdocSec=<smth> 添加到单元文件,然后定期从您的服务发送 WATCHDOG=1 消息。还要检查 Restart= 选项。

使用包
https://pypi.org/project/systemd-python/
它是官方的 systemd 开发者和维护者。