自动启动PYTHON脚本

时间:2013-11-12 17:48:06

标签: python mysql cron daemon

我写了一个PYTHON脚本来控制我家的供暖和交流系统。它通过MYSQL数据库获取信息和设置,并通过USB /串行通信与外界通信。它只是运行无限循环,检查温度等。 目前在Arch Linux上使用Raspberry PI运行。 因为它对我家人的舒适至关重要,所以我希望它相当可靠,并在关机时优雅地回来。 我可以在控制台上启动它,最新版本还没有在我身上崩溃,所以看起来非常稳定。 我的问题:让我自动启动它的简单方法是什么? 如何自动检查它是否正在运行,如果它崩溃了,再次启动它?

我怀疑答案必须与Cron一起进行,或者可能与守护进程,但我不是OO程序员,所以这些看起来有点令人生畏。

3 个答案:

答案 0 :(得分:1)

设置一个cronjob,每隔5分钟左右运行一次,以监控任务是否正在运行。

这是一个可以在bash

中起作用的例子
# assuming your app is called temp_monitor.py

cmd="ps ux | grep temp_monitor.py | grep -v grep"
start="python temp_monitor.py"

# run the command to check
eval "$cmd"

# did the previous command return a non-zero exit code?
if [ $? -ne 0 ]; then
  $start
fi

答案 1 :(得分:0)

在cron中,添加一个“定期”运行的作业,以确保您的应用程序正在运行(某些psgrep将为您提供)

其次,添加一个脚本以启动程序到/etc/init.d目录,该目录在启动时由系统读取。 (注意:我不记得在rasp / pi上运行的linux版本的确切目录,我将把它留作OP的练习)

this解决自动启动功能的少量调查点

答案 2 :(得分:0)

Python程序员最自然的解决方案是supervisord。可能大多数* nix系统当天提供OOTB(即作为一个包),有些实际上将它作为其平台的一部分使用。

相关问题