Python 在屏幕上分离运行的脚本有时只是休眠,直到重新连接

Python 在屏幕上分离运行的脚本有时只是休眠,直到重新连接,python,linux,python-3.x,gnu-screen,archlinux-arm,Python,Linux,Python 3.x,Gnu Screen,Archlinux Arm,我有一个小python3脚本来控制我们的中央供暖系统。它通过而不是true:循环运行,其中time.sleep(-time.time()%5)与系统时钟同步,同时永远检查if语句。总运行时间超过一年。 它在Raspberry 2上Arch Linux ARM上的GNU屏幕内运行 直到现在,它发生了两次,程序只是“睡眠”,直到我登录并重新连接到屏幕。然后我可以看到输出,例如,五小时前它开始睡眠时的输出,一旦重新连接到屏幕,它将继续工作并提供新的输出 我不知道从哪里开始,因为我没有犯错误,“睡眠”的

我有一个小python3脚本来控制我们的中央供暖系统。它通过
而不是true:
循环运行,其中
time.sleep(-time.time()%5)
与系统时钟同步,同时永远检查
if
语句。总运行时间超过一年。 它在Raspberry 2上Arch Linux ARM上的GNU屏幕内运行

直到现在,它发生了两次,程序只是“睡眠”,直到我登录并重新连接到屏幕。然后我可以看到输出,例如,五小时前它开始睡眠时的输出,一旦重新连接到屏幕,它将继续工作并提供新的输出

我不知道从哪里开始,因为我没有犯错误,“睡眠”的发生与我想不出的任何关系无关


我还有另外两个python脚本也在它自己的GNU屏幕上运行。一个脚本仍然使用
time.sleep(-time.time()%60)
将温度记录到数据库中,另一个脚本仍然一直将值保存到数据库中。

有没有解决这个问题的方法?我在用screen over SSH运行Python作业时遇到了一个非常类似的问题。@BrendenPetersen不幸没有,最近我又遇到了这个问题。你呢,你知道为什么会这样吗?没有。我发现有人有类似的问题,但再次没有解释或解决办法。奇怪的是,当连接到屏幕时,您有时会使用前缀(
Ctrl
+
a
)+
Escape
命令启用滚动吗?调度程序是否可能看到拥有这些进程的用户有一段时间没有登录,并停止调度这些进程?(我不知道,但对我来说似乎是合理的)如果是这样,使用init.d或cron之类的东西启动进程将使用一个系统用户id(root或为cron创建的用户等),该id可能会跳过此活动检查。@BrendenPetersen是的,我在使用滚动,有时在取消滚动时会注意到延迟。我相信这和屏幕有关。自上次更新以来,它没有再次发生。那你呢?