Raspberry crontab python脚本在启动时



我一直试图在Rpi启动时启动一个python脚本,但到目前为止我所尝试的一切都不起作用。

该脚本是以下内容的某个版本:https://www.raspberrypi.org/learning/temperature-log/worksheet/:

#!/usr/bin/python
import os, sys
from subprocess import check_output
from re import findall
from time import sleep, strftime, time
def get_temp():
    temp = check_output(["vcgencmd","measure_temp"]).decode("UTF-8")
    temp = float(findall("d+.d+",temp)[0])
    return(temp)
while True:
    log=open("cpu_temp.txt","a")
    temp = get_temp()
    log.write("{0} {1}".format(strftime("%Y-%m-%d %H:%M:%S"),str(temp))+" degreeCrn")
    sleep(60)  
    log.close()

它本身运行良好。我尝试编辑crontab,有没有Python的绝对路径,以及编辑/etc/rc.local

我知道它不起作用,因为它应该创建一个文本文件并每分钟编辑一次,而它不是在启动时创建的。我在crontab和rc.local中还有其他正在运行的命令。

需要帮助!

如果脚本位于/home/pi/tempcheck.py,则应使用编辑crontab

sudo crontab -e

并附加行

@reboot python /home/pi/tempcheck.py &

然后保存并退出。

更多详细信息,请访问http://www.raspberrypi-spy.co.uk/2013/07/running-a-python-script-at-boot-using-cron/

你可以用检查它是否在运行

ps aux | grep tempcheck.py

请注意,如果您编辑root的crontab,python进程将以root身份运行。因此,您应该在python脚本中使用绝对文件名:

log=open("/home/pi/cpu_temp.txt","a")
sudo crontab -e
@reboot /usr/bin/python /path/to/file/script.py

/path/to/file/script.py可能类似于/home/username/script.py

如果它仍然不起作用,你可以尝试用以下命令授予它执行权限:

chmod a+x script.py

您可以在~/.bashrc文件中调用脚本。它将在启动或终端打开时调用。

只需写:

python /path/to/your/script.py

在.bashrc文件的末尾。

最新更新