(一)
首先寫個你得有個需要運(yùn)行的python腳本
我這里是幾個自己的程序(注意的的py程序也需要chmod進(jìn)行777權(quán)限操作袜啃,不然會運(yùn)行失敻砑荨)
文件保存在/home/pi/share/ip_acquire.py
一 首先給你的py文件增加權(quán)限
chmod 777 /home/pi/share/ip_acquire.py
二 開機(jī)啟動腳本
保存腳本為/etc/init.d/my_start文件
#!/bin/bash
case "$1" in
start):
echo "Starting app"
nohup python3 /home/pi/share/ip_acquire.py &
;;
stop):
echo "to"
#kill $( ps aux | grep -m 1 'python3 /home/pi/share/ip_acquire.py' | awk '{ print $2 }') ;; *)
echo "Usage: service start_tool start|stop"
exit 1 ;;
esac
exit 0
三 設(shè)置python腳本開機(jī)啟動
sudo chmod 777 /etc/init.d/my_start
這樣啟動改腳本用service 命令就可以溺森,在使用該指令前挺物,你需要重啟一下系統(tǒng)涧黄,不然會提示沒有該服務(wù)
sudo service my_start start#啟動
sudo service my_start stop#停止
最后設(shè)置開機(jī)啟動就好了
sudo update-rc.d my_start defaults
這樣就完工了,重啟樹莓派就會程序自動跑起來了蹬敲,停止用
sudo service my_start stop就行
在這里需要注意:
因?yàn)檫@個開機(jī)自啟是在機(jī)器還沒完成初始化進(jìn)程的時候就啟動的,所以在你的python程序的開頭最好加入一個time.sleep函數(shù)休眠20秒舶得,強(qiáng)迫程序在系統(tǒng)初始化成功后進(jìn)行運(yùn)行掰烟。不然可能會因?yàn)橄到y(tǒng)還沒準(zhǔn)備好你的程序就強(qiáng)行運(yùn)行而導(dǎo)致啟動失敗。
(二)
編輯rc.local文件:
在你的樹莓派上沐批,選擇一個文本編輯器編輯/etc/rc.local文件纫骑。你必須使用root權(quán)限編輯,例如:
sudo vim /etc/rc.local
在注釋后面添加命令九孩,但是要保證exit 0這行代碼在最后先馆,然后保存文件退出。
如果你的命令需要長時間運(yùn)行(例如死循環(huán))或者運(yùn)行后不能退出躺彬,那么你必須確保在命令的最后添加“&”符號讓命令運(yùn)行在其它進(jìn)程煤墙,例如:
python /home/pi/myscript.py &
否則梅惯,這個腳本將無法結(jié)束,樹莓派就無法啟動仿野。這個“&”符號允許命令運(yùn)行在一個指定的進(jìn)程中铣减,然后繼續(xù)運(yùn)行啟動進(jìn)程。
另外脚作,確保文件名使用絕對路徑葫哗,而不是相對于你的home目錄的相對路徑。例如:使用/home/pi/myscript.py而不是用myscript.py球涛。
樹莓派怎開機(jī)就執(zhí)行一條命令劣针?
最簡單的方法是直接添加到/etc/rc.local文件的exit語句前。會寫啟動腳本就寫一個放到init.d宾符,再創(chuàng)建個軟鏈接到rc.2也可以用第三方啟動管理軟件酿秸,但是不推薦。
為何我加在/etc/rclocal中的腳本不可以開機(jī)自啟動
打開gpedit.msc
計(jì)算配置--windows 設(shè)置--腳本(啟動/關(guān)機(jī))--
雙擊啟動---添加rc.local文件 保存 退出 .
也可以把rc.local文件保存在
C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Startup這里,
再添加rc.local文件 保存 退出 .
(三)
這個方式不用修改 rc.local 文件魏烫。機(jī)制上類似于 Windows 的“開始”菜單中的“啟動”菜單辣苏。方法如下:
在 /home/pi/.config 下創(chuàng)建一個文件夾,名稱為 autostart哄褒,并在該文件夾下創(chuàng)建一個xxx.desktop文件(文件名以.desktop結(jié)尾稀蟋,前面可以自定義),文件內(nèi)容如下:
[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 可以自定,分別表示這個啟動項(xiàng)目的名稱链嘀、備注以及顯示的圖標(biāo)萌狂。Exec 表示調(diào)用的指令,和在終端輸入運(yùn)行腳本的指令格式一致怀泊。