覆盆子pi crontab和python中断

时间:2017-12-22 17:15:50

标签: python shell raspberry-pi interrupt raspbian

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

.Bidistribute(...)

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分: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