首先了解以下Ubuntu運行級別(init)對應工具的變化歷史:
1、Ubuntu 6.10及以前版本使用Sysvinit。
2、Ubuntu 14.10及以前版本使用Upstart但是還留着Sysvinit並存。
https://wiki.ubuntu.com/Upstart
https://help.ubuntu.com/community/UpstartHowto
3、Ubuntu 15.04開始預設使用Systemd,但是可以在開機選項選擇使用Systemd或Upstart,但是不可同時使用Sysvinit或Upstart並存。
https://wiki.ubuntu.com/SystemdForUpstartUsers
整個Linux的init發展歷史:
https://zh.wikipedia.org/wiki/Init
詳細介紹三個體系:Sysvinit、Upstart、Systemd
Sysvinit:https://www.ibm.com/developerworks/cn/linux/1407_liuming_init1/index.html
Upstart:https://www.ibm.com/developerworks/cn/linux/1407_liuming_init2/index.html
Systemd:https://www.ibm.com/developerworks/cn/linux/1407_liuming_init3/index.html
總結Sysvinit:
對於其它兩項在Ubuntu上已經有介紹其使用方法,主要是Sysvinit比較歷史悠久,其主要就是一個Shell腳本,並且是放置在/etc/init.d文件夾下。然后通過update-rc.d命令進行運行級別的操作來達到服務的啟動。下面是一些服務腳本的編寫參考:
其實系統提供的說明文檔,在/etc/init.d/README
https://gist.github.com/naholyr/4275302
https://www.cyberciti.biz/tips/linux-write-sys-v-init-script-to-start-stop-service.html