Raspberry Pi (raspian wheezy) 有一个 cronjob,是使用“sudo crontab -e”作为用户 pi 创建的,因此它应该具有 root 权限。
ps aux | grep /home/.../myscript.py
...说它的所有者是用户“pi”!? (这是正确的吗?)
如果我从终端调用它,从 crontab 调用的 python 脚本工作正常。 它从UART(串口)读取数据,并将其保存到mysql数据库中。 我的 python 脚本获得了“chmod 777”授权。
crontab 文件:
@reboot sudo python /home/pi/pythonprogram/myscript.py & > /home/pi/pythonprogram/myscript.log
crontab 日志文件:
Error mysql: 2002 Can't connect to local MYSQL server throught socket '/var/run/mysqld/mysqld.sock' (2)
可能是在启动过程中服务器(mysql 和 apache)运行之前首先调用我的脚本吗?有没有办法防止这种情况发生?
这些错误的其他原因可能是什么?
最佳答案
以相当丑陋的方式解决了这个问题,但现在可以了。
刚刚添加:
time.sleep(5)
在尝试连接到 mysql 数据库之前。
如果有人有更好的解决方案,我会很高兴。
关于python - Raspberry Pi crontab 在启动时启动 py 脚本 -> 记录 : error mysql 2002 (can't connect to local server),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18805490/