Firebase DB 程序在登录时有效,但在使用 raspberry pi 启动时无效

Firebase DB program works when logged in but not on boot using raspberry pi

我正在使用 raspberry pi 创建物联网设备并使用 firebase admin sdk 通过网络进行通信。代码按照我想要的方式工作......直到我尝试将它添加到 local.rc 中以无头地使用它。

我无法复制错误,因为它只是在启动时抛出。这是一张图片。

https://drive.google.com/open?id=0B9zzhouEyyN_RmttYVVOZXE0d2JXNWtTZHBjTlZYRTZkdy1N

据我所知,它与程序所在位置的权限问题有关 运行。这是我的 rc.local:

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

#My line

sudo sh /home/pi/superscript.sh

exit 0

上标是

sudo python home/pi/servo.py & sudo python home/pi/buttonCheck.py&

我试过使用和不使用 sudo。

感谢您的帮助。

感谢 Kamil Cuk,我将我的进程从 rc.local 中的 运行 切换为 systemd 中的服务。 Here 是对使用 systemd 服务方法的文档的 link。 虽然我没有遇到任何崩溃,但设置 Restart=Always 将在崩溃后重新启动它(如果适用)。

这是它的样子。

 [Unit]
 Description=Room controller
 After=multi-user.target

 [Service]
 Type=idle
 ExecStart=/usr/bin/python /home/pi/servoController.py & /usr/bin/python /home/pi/buttonListener.py
 Restart=always

 [Install]
 WantedBy=multi-user.target