(一)
在用户目录下的 ".profile"文件中添加你要开机启动的程序绝对路径
(二)
首先给你的文件增加权限
chmod +x /home/pi/share/ip_acquire.py
开机启动脚本,保存脚本为/etc/init.d/start文件
#!/bin/sh
#/etc/init.d/start
### BEGIN INIT INFO
# Provides: start_tool
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start
# Description: This service is used to start my applaction
### END INIT INFO
case "$1" in
start)
echo "Starting app"
nohup python3 /home/pi/share/coper_crawler.py &
nohup python3 /home/pi/share/django_web1/manage.py runserver 0.0.0:8000 &
nohup python3 /home/pi/share/pythonweb-1.3/test/test.py &
;;
stop)
echo "Stop"
#kill $( ps aux | grep -m 1 'python3 /home/pi/share/start.py' | awk '{ print $2 }')
;;
*)
echo "Usage: service start_tool start|stop"
exit 1
;;
esac
exit 0
三 设置python脚本开机启动
sudo chmod +777 /etc/init.d/start_tool
这样启动改脚本用service 命令就可以
sudo service ip_acquire start#启动
sudo service ip_acquire stop#停止
最后设置开机启动就好了
sudo update-rc.d ip_acquire defaults
这样就完工了,重启树莓派就会程序自动跑起来了,停止用
sudo service ip_acquire stop就行
(三)
编辑rc.local文件:
在你的树莓派上,选择一个文本编辑器编辑/etc/rc.local文件。你必须使用root权限编辑,例如:
sudo vim /etc/rc.local
在注释后面添加命令,但是要保证exit 0这行代码在最后,然后保存文件退出。
如果你的命令需要长时间运行(例如死循环)或者运行后不能退出,那么你必须确保在命令的最后添加“&”符号让命令运行在其它进程,例如:
python /home/pi/myscript.py &
否则,这个脚本将无法结束,树莓派就无法启动。这个“&”符号允许命令运行在一个指定的进程中,然后继续运行启动进程。
另外,确保文件名使用绝对路径,而不是相对于你的home目录的相对路径。例如:使用/home/pi/myscript.py而不是用myscript.py。
树莓派怎开机就执行一条命令?
最简单的方法是直接添加到/etc/rc.local文件的exit语句前。会写启动脚本就写一个放到init.d,再创建个软链接到rc.2也可以用第三方启动管理软件,但是不推荐。
(四)
这个方式不用修改 rc.local 文件。机制上类似于 Windows 的“开始”菜单中的“启动”菜单。方法如下:
在 /home/pi/.config 下创建一个文件夹,名称为 autostart,并在该文件夹下创建一个xxx.desktop文件(文件名以.desktop结尾,前面可以自定义),文件内容如下:
[Desktop Entry]
Name=example
Comment=My Python Program
Exec=python /home/pi/example.py
Icon=/home/pi/example.png
Terminal=false
MultipleArgs=false
Type=Application
Categories=Application;Development;
StartupNotify=true
以上 Name、Comment、Icon 可以自定,分别表示这个启动项目的名称、备注以及显示的图标。Exec 表示调用的指令,和在终端输入运行脚本的指令格式一致。