我在创业时的脚本遇到了很多麻烦,我尝试了无数种方法,花了数小时试图让它正常工作
我有一个启动时需要运行的python脚本。但是,它需要接入互联网,所以我不得不等待网络
在我使用crontab尝试的几个教程中,我尝试了许多方法,通过使用systemd和rc.local创建服务,但是这些方法都不起作用
我能够工作的唯一方法是使用.desktop桌面条目,但这只在插入外部监视器时对我有效,我的raspberry pi将在没有外部监视器的情况下运行
此外,我还可以使用服务方法运行脚本,现在使用rc.local
通过添加此行:
sudo bash -c '/usr/bin/python3 /home/pi/Projects/capstone/main.py > /home/pi/capstone.log 2>&1' &
但是,在我尝试运行的python脚本中,我有以下代码:
os.system("sudo killall servod")
time.sleep(1)
os.system('sudo ~/PiBits/ServoBlaster/user/./servod')
由于某些原因,它没有正确运行我的脚本,因为我的日志中出现以下错误:
servod: no process found
sudo: /root/PiBits/ServoBlaster/user/./servod: command not found
第一个是预期的,因为我运行sudo killall servod时,它可能会启动,也可能不会启动,但第二个“Command not found”是问题所在,如果这段代码没有执行,我的程序就无法运行
有人能帮我解决这个问题吗
替换:
与:
您还可以尝试将脚本复制到/etc/init.d,并将其作为init.d脚本运行。您确实需要将以下内容添加到脚本中:
您可以轻松等待python脚本中的网络的一种方法是ping服务器,直到在本例中成功
至于在启动时运行脚本,我建议编辑
/etc/xdg/lxsession/LXDE-pi/autostart
,并将python脚本以相关问题 更多 >
编程相关推荐