如何解决如何在某些小时之间暂停或停止python程序不基于经过的时间!
我试图找到一种使python程序连续运行的方法,但要确保主脚本仅在夜间运行(例如在21:30和04:30之间)处于“活动”状态
背景:我的程序记录了运动激活的视频并激活了探照灯。
主程序段如下:
...我目前每天晚上都在跑步,然后在早上用Ctrl-C杀死。.
try:
signal.signal(signal.SIGHUP,SigHandler) # proper exit for SIGHUP (terminal hangups)
while GPIO.input(PIR_PIN)==1: # Loop until PIR output is stabilised at 0
pass
GPIO.add_event_detect(PIR_PIN,GPIO.RISING,callback=MotionDetected)
signal.pause() #pauses main program forever & waits for PIR Rising Edge unless interrupted
except KeyboardInterrupt:
print("")
finally:
GPIO.output(16,GPIO.LOW) #floodlight off
GPIO.cleanup()
也许有一种方法可以在并行线程中定期检查时间,并且如果时间在某些小时之间可以挂起程序?
如果我在try语句之前添加thread语句,也许下面发布的解决方案对我的程序有用吗?...
How to schedule python script to exit at given time
解决方法
首先,创建一个cron作业(由于GPIO调用,我相信您在Linux上),以便每天晚上21:30启动脚本。
30 21 * * * python /path/to/python/script
然后,在4:30创建第二个cron作业,以杀死正在运行程序的任何现有进程。
30 4 * * * pkill -f /path/to/python/script # Will need to be edited to the actual process name that runs.
Killing a process by matching name
,Python Pause https://github.com/jgillick/python-pause/ 支持暂停直到某个日期时间。
Java Threads 2nd edition 也有一个作业调度器的示例代码;也许您可以将其用作蓝图。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。