我有一个监控温度传感器和控制继电器的脚本(RelayControlMainGH.py)。它使用带有time.sleep()的while语句并永远运行。我还创建了一个脚本(GetTableTimes.py),它读取3个数据库表文件,当它们被修改后,脚本(CreateRelayControlConfig.py)重新创建脚本(RelayControlMainGH.py)。因此,每当我在数据库中更改这3个表时,由于路径更改或临时更改或继电器上使用的逻辑,需要进行此新配置文件。
什么是阻止脚本(RelayControlMainGH.py)运行的好方法,并允许一些时间重新创建新脚本并重新启动它。
我尝试使用没有while循环的cron,但脚本(RelayControlMainGH.py)将无法运行。我确信如果我把它放在带有while循环的cron中,我将不得不在系统中找到它来启动和停止它。
最好的方法是什么?
我正在使用覆盆子pi和rasbian
答案 0 :(得分:0)
我建议您将GetTableTimes.py& CreateRelayControlConfig读取的值放在json文件中,并始终在RelayControlMainGH.py中读取它们
这样你的cron工作就会很简单。 我不确定你是否需要一段时间的True循环,因为你的cron将每隔*每分钟/每小时/每天运行脚本......
我希望这可以帮助您更好地构建解决方案
答案 1 :(得分:0)
我所做的是为我的脚本创建一个demean服务(RelayControlMainGH.py)并在启动时启动它,或者它可以随时启动。然后在我创建配置文件的脚本中添加了一个停止并启动了demean,这样它就可以获得新的配置文件并继续运行。它很棒!!