【发布时间】:2021-12-14 03:58:36
【问题描述】:
我正在开发一个基于 RFID 的访问控制系统,我有一个可用的 Python 脚本。对于一些重要的具体细节,主要处理是在一个 pi 零 w 上完成的,它通过 USB 连接到一个微控制器,该微控制器处理来自 RFID 模块的输入并将其以字符串格式发送到 pi 为简单起见。然后,pi 将收到的字符串与 yaml 文件和时间表进行比较,并使用 GPIO 使用电源打开或关闭门锁。我遇到的问题是脚本在大约 30 分钟后停止运行,我不太确定为什么,但我认为无论如何理想的解决方案是守护它,因为 cron 作业太容易失败并且守护进程似乎非常适合这种用途。是否有人对脚本的守护进程有任何建议,以便它在启动时启动并在检测到故障或不再运行时自行重新启动?
【问题讨论】:
-
您应该创建systemd unit 来启动和管理您的脚本。这将允许您让它在启动时启动,并在它失败时自动重新启动。你会发现很多关于编写 systemd 单元的指南,并进行一些基本的搜索。