樹莓派開機啓動程序及啓動腳本的製做

網上有很多關於如何讓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的系統。

以svn爲例:

1.製做開機啓動腳本svn_serve

```
#!/bin/sh
### BEGIN INIT INFO
# Provides:          svn_serve
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start or stop the HTTP Proxy.
### END INIT INFO

case $1 in
	start)
		svnserve -d -r /home/pi/svn_repository
		;;
	stop)
		killall svnserve
		;;
*)
echo "Usage: $0 (start|stop)"
;;
esac
```
若是不加上面的註釋,執行下面步驟3時,update-rc.d會報以下的警告信息

```
update-rc.d: warning: /etc/init.d/proxy missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
```

2.啓動關閉服務

```
sudo service svn_serve start
sudo service svn_serve stop
```

3.讓svn_serve開機啓動

```
sudo update-rc.d svn_serve defaults
```
4.取消svn_serve的開機自動啓動

```
sudo update-rc.d -f svn_serve remove
```


相關文章
相關標籤/搜索