樹莓派設置開機啓動腳本

網上有不少關於如何讓Linux自動運行自己編寫的腳本或者程序的方法,但是大多數都是把命令寫到/etc/rc.local裏,這樣雖然能夠實現隨機運行,但是並不夠靈活。不能像mysql,apache等服務一樣能夠使用service命令或者調用init.d下的腳本啓動、關閉或者重啓進程。例如,

service mysql restart service apache2 stop

或者

/etc/init.d/mysql restart /etc/init.d/apache2 stop

因爲不同的Linux發行版本,對後臺服務的處理方式不大一樣,如redhat使用chkconfig來管理開機程序。所以下面的方法以debian類系統爲例,如何寫一個簡單的開機啓動腳本。所以,此方法適用於raspbian pi的系統。

  1 #!/bin/sh
  2 ### BEGIN INIT INFO  
  3 # Provides:          grabjpg 
  4 # Required-Start:    $remote_fs
  5 # Required-Stop:     $remote_fs
  6 # Default-Start:     2 3 4 5
  7 # Default-Stop:      0 1 6
  8 # Short-Description: Start or stop the /dev/video0 
  9 ### END INIT INFO
 10 case $1 in
 11     start)
 12         echo "starting  grabjpg...."
 13         sudo /home/pi/bii/video/v4l2_jpg/grabjpg > /dev/null 2>&1 &
 14     ;;
 15     stop)
 16         echo "stoping grabjpg...."
 17         killall grabjpg
 18     ;;
 19     *)
 20         echo "Usage: $0 (start|stop)"
 21     ;;
 22 
 23 esac     

讓程 grabjpg開機啓動

sudo update-rc.d grabjpg defaults

讓grabjpg取消開機啓動

sudo update-rc.d grabjpg remove

注意:只有執行正 sudo update-rc.d grajpg defaults 才能用以service 命令啓停腳本(這個讓我試了好久)
啓動關閉grabjpg

sudo service grabjpg start
sudo service grabjpg stop

參考文獻:
[1] 開機自動執行腳本 與 update-rc.d
[2] Debian init 開機啓動管理
[3] 樹莓派開機啓動程序及啓動腳本的製作

發佈了55 篇原創文章 · 獲贊 22 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章