1. 建立服务service
sudo nano/lib/systemd/system/xxx.service
[Unit]
Description=xxx
After=multi-user.target
[Service]
TimeoutStartSec=10
RestartSec=30s
Restart=always
ExecStart= #加上需要执行的命令,绝对路径
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.targ
开启
sudo systemctl start xxx
关闭
sudo systemctl stop xxx
重启
sudo systemctl restart xxx
查看状态
sudo systemctl status xxx
设置开机启动
sudo systemctl enable xxx
xxx代表建立的服务名称
2. 更改rc.local
sudo nano /etc/rc.local
在exit 0上一行加入:
python3 /home/pi/myscript.py &
这里虽然没有加入sudo,但是程序也是管理员方式运行的;对于死循环或者运行一次不退出的程序,后面要加“&”
3. 使用桌面启动
这种方法就是在/home/pi/.config/autostart/文件夹下面建立一个.desktop的文件,具体内容如下:
[Desktop Entry]
Name=example
Comment=My Python Program
Exec=lxterminal -e python3 xxx.py #(绝对路径,如果需要超级管理员权限,可以加sudo)
Terminal=false
MultipleArgs=false
Type=Application
Categories=Application;Development;
StartupNotify=true
tips:今天的项目不知道什么原因,aplay xxx.wav可以播放音频,但是使用超级管理员权限播放时,没有声音,但是前两种方法启动都是通过管理员的方式启动,最后一种可以不启动管理员方法,相当于在终端直接输入命令,因此可以解决了我的问题,并且可以看见对应的输出,很方便。