有時候咱們須要Linux系統在開機的時候自動加載某些腳本或系統服務。在解問題以前先來看看Linux的啓動流程。html
主要順序就是:
1. 加載內核
2. 啓動初始化進程
3. 肯定運行級別
4. 加載開機啓動程序
5. 用戶登陸linux
啓動流程的具體細節能夠看看Linux 的啓動流程
redis
第4步加載啓動程序實際上是兩步:shell
ps:「指定目錄」是指在第3步中設置的運行級別對應的目錄。服務器
要完成咱們的需求,咱們使用第4步中的任意一種方式均可以。spa
下面分別就是這兩種方式的具體實現:.net
1. 編寫腳本autostart.sh(這裏以開機啓動redis服務爲例),腳本內容以下:命令行
#!/bin/sh #chkconfig: 2345 80 90 #description:開機自動啓動的腳本程序 # 開啓redis服務 端口爲6379 /usr/local/service/redis-2.8.3/src/redis-server --port 6379 &
腳本第一行 「#!/bin/sh」 告訴系統使用的shell;
腳本第二行 「#chkconfig: 2345 80 90」 表示在2/3/4/5運行級別啓動,啓動序號(S80),關閉序號(K90);
腳本第三行 表示的是服務的描述信息code
注意: 第二行和第三行必寫,負責會出現如「服務 autostart.sh 不支持 chkconfig」這樣的錯誤。server
2. 將寫好的autostart.sh腳本移動到/etc/rc.d/init.d/目錄下
3. 給腳本賦可執行權限
cd /etc/rc.d/init.d/ chmod +x autostart.sh
4. 添加腳本到開機自動啓動項目中
chkconfig --add autostart.sh chkconfig autostart.sh on
到這裏就設置完成了,咱們只須要重啓一下咱們的服務器,就能看到咱們配置的redis服務已經能夠開機自動啓動了。
末尾加入以下語句
/usr/local/service/redis-2.8.3/src/redis-server --port 6379 &
切忌 命令行末尾要加上 [ & ] 符號(介紹), 表示任務在後臺執行。不然會阻塞後面添加的命令行執行。
完畢。
PS:
https://blog.csdn.net/karchar/article/details/52489572
https://blog.csdn.net/daidaineteasy/article/details/54864776
https://blog.csdn.net/chinabestchina/article/details/72686002