Linux開機啟動程式或指令碼詳解

pythontab發表於2016-07-19

很多時候我們需要在Linux上設定一些服務或者指令碼開機自啟動,這樣可以避免機器重啟帶來的服務中斷等問題。下面我們來看一下Linux下如何設定開啟自啟動:

cd /etc/init.d vi myscript.sh #將myscript.sh修改為你自己的指令碼名

編寫自己的指令碼後儲存退出。

在編寫指令碼的時候,請先加入以如以下注釋

#add for chkconfig  
#description:  #關於指令碼的簡短描述


說明:

2345是指指令碼的執行級別,即在2345這4種模式下都可以執行,234都是文字介面,5就是圖形介面X

70是指指令碼將來的啟動順序號,如果別的程式的啟動順序號比70小(比如44、45),則指令碼需要等這些程式都啟動以後才啟動。

30是指系統關閉時,指令碼的停止順序號。

給指令碼新增上可執行許可權:

chmod +x myscript.sh

利用chkconfig命令將指令碼設定為自啟動

chkconfig --add servicename

這樣你的指令碼就可以在開機後自動執行了。

另外,在redhat裡也可以使用這個方法來實現開機自啟動。

chkconfig的使用方法

chkconfig(check config)

功能說明:檢查,設定系統的各種服務。

語  法:chkconfig

[--add][--del][--list][系統服務]或chkconfig[--level<等級代號>][系統服務][on/off/reset]

補充說明:這是RedHat公司遵循GPL規則所開發的程式,它可查詢作業系統在每一個執行等級中會執行哪些系統服務,其中包括各類常駐服務。

引數:

 –add 增加所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啟動的敘述檔案內增加相關資料。

 –del 刪除所指定的系統服務,不再由chkconfig指令管理,並同時在系統啟動的敘述檔案內刪除相關資料。

 –level<等級代號> 指定讀系統服務要在哪一個執行等級中開啟或關畢

1:chkconfig 命令也可以用來啟用和解除服務。chkconfig –list 命令顯示系統服務列表,以及這些服務在執行級別0到6中已被啟動(on)還是停止(off)。

chkconfig –list
chkconfig –list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

2:chkconfig 還能用來設定某一服務在某一指定的執行級別內被啟動還是被停運。譬如,要在執行級別3、4、5中停運 nscd 服務,使用下面的命令:

chkconfig –level 345 nscd off

3:由 xinetd 管理的服務會立即被 chkconfig 影響。譬如,如果 xinetd 在執行,finger 被禁用,那麼執行了 chkconfig finger on 命令後,finger 就不必手工地重新啟動 xinetd 來立即被啟用。對其它服務的改變在使用 chkconfig 之後不會立即生效。必須使用service servicename start/stop/restart命令來重起服務

 

第二種方法

編輯  /etc/rc.d/rc.local檔案 

格式為  程式名  程式路徑

例如  a.sh  /home/a.sh


相關文章