一、前言
本文程序自啟動方法是:將腳本程序作為服務啟動。
二、自啟動配置
1. 創建測試文件
-
如果已經有了自啟動的目標文件,請跳過這一步,到 "新建服務腳本文件" 。
-
在
/home/pi
目錄下,創建測試文件test_self_start.sh
:#!/bin/sh touch /home/pi/test_hp.txt chmod 777 /home/pi/test_hp.txt echo "Hello Pi" >> /home/pi/test_hp.txt
2. 新建服務腳本文件
在/etc/init.d/目錄下新建一個服務腳本文件。在終端輸入並回車
pi@raspberry:~ $ sudo vim /etc/init.d/test_self_start
3. 輸入內容
在空白文件中輸入以下內容,其中:
- "test_self_start" 是我建的服務文件名,請根據需求自行更改;
- 第 15 行請改為:
su pi -c "exec 你的腳本文件的絕對路徑"
; - 里面所有的
echo
語句,都是對自啟動服務的啟動/暫停等功能的說明,可根據需求自行更改。
#!/bin/sh
#/etc/init.d/test_self_start
### BEGIN INIT INFO
# Provides:aly-pi-net
# Required-Start:$remote_fs $syslog
# Required-Stop:$remote_fs $syslog
# Default-Start:2 3 4 5
# Default-Stop:0 1 6
# Short-Description: test self_start
# Description: This service is used to start my applaction
### END INIT INFO
case "$1" in
start)
echo "start test_self_start."
su pi -c "exec /home/pi/test_self_start.sh"
;;
stop)
echo "stop test_self_start."
;;
*)
echo "Usage: service test_self_start start|stop"
exit 1
;;
esac
exit 0
4. 保存退出
按下 ESC
,再輸入 :wq
保存退出
5. 設置腳本可執行權限:
pi@raspberry:~ $ sudo chmod 777 /etc/init.d/test_self_start
6. 開機自動加載
最后將該腳本作為服務設置開機自動加載:
pi@raspberry:~ $ sudo update-rc.d test_self_start defaults
三、成功測試
- 如果以自定義的目標文件實現自啟動,請觀察結果。
- 對於本文測試腳本
test_self_start.sh
來說:- 保證
/home/pi
文件下,沒有test_hp.txt
文件 sudo reboot
重啟- 重啟后查看在
/home/pi
目錄下,是否有echo
重定向文件test_sh.txt
,檢查內容是否為Hello Pi
。
- 保證