覆盆子pi crontab和python中断

问题描述 投票:0回答:1

我编写了一个python脚本,通过按钮按下触发中断的绝对路径/home/pi/foo.txt将一些数据记录到txt文件中。我已经通过命令行多次启动脚本而没有任何问题:当你按下go时,它会继续,当你按下stop时,它会停止。该脚本位于/home/pi/log.py中。我编写了一个shell脚本来执行这个python脚本,因为我读到它可能对教程有帮助,所以我们称之为log.sh调用

#! /bin/sh
cd /home/pi
/usr/bin/python /home/pi/log.py

但是,当我尝试通过crontab启动此脚本时,将其添加到我的脚本中

@reboot log.sh

脚本将运行,但没有按下按钮将停止脚本(也就是停止按钮将无法工作)。 CPU使用率高达100%并坚持下去。我已经尝试将环境变量从我的用户环境复制并粘贴到crontab中,但这也无效。

有任何想法吗?

python shell raspberry-pi interrupt raspbian
1个回答
1
投票

我了解到crontab使用的环境与用户环境不同的困难方式。

有关用户和crontab:https://serverfault.com/questions/698577/why-is-the-cron-env-different-from-the-users-env/698635之间的环境差异的更多信息,请查看此堆栈的流程

我认为最好的事情就是在python中做所有事情。有一个python环境,其行为类似于crontab。它被称为时间表(https://pypi.python.org/pypi/schedule)。

我实际上是在覆盆子Pi恒温器项目中使用它。看看这里:https://github.com/mababio/raspi_thermostat/blob/c6aea6ded6874d0dc21ded34f07874dd7f97dd15/src/thermo/test/jobs.py

© www.soinside.com 2019 - 2024. All rights reserved.