1. 程式人生 > >Centos7.0服務控制及優化啟動過程

Centos7.0服務控制及優化啟動過程

1.系統服務控制

在CentOS7.0系統中,各種系統服務的控制指令碼預設放在/usr/lib/systemd目錄下。通過systemctl命令工具可以實現對指定系統服務的控制,語法格式如下:

systemctl 控制型別 服務名稱

 

 

對於大多數系統服務來說,常見的幾種控制型別如下所述。

  • start (啟動):啟用指定的系統服務程式
  • stop (停止):終止指定的系統服務程式
  • restart (重啟):先關閉服務,再啟動指定的系統服務程式
  • reload (過載):不關閉服務,只是重新整理配置
  • status (檢視狀態):檢視指定的系統服務的執行狀態

例子:停止postfix服務,並檢視當前狀態,如下:

2.切換執行級別

早期Linux作業系統中的SysVinit機制,預設包括七種不同的服務搭配方式,其中每一種搭配方式稱為執行級別,類似於Windows系統中的正常啟動、安全模式、不帶網路連線的安全模式等。這些執行級別分別使用數字0,1,…,6來表示。為了向下相容SysVinit系統,Systemd使用了相應的target(目標)模擬了SysVinit的執行級別,下表列出了執行級別所對應的target及作用

SysVinit的執行級別

Systemd目標名稱

 

作用

0

runlevel0.target, poweroff.target

關機

1

runlevel1.target, rescue.target

單使用者模式

2

runlevel2.target, multi-user.target

等同於級別3

3

runlevel3.target, multi-user.target

多使用者的文字介面

4

runlevel4.target, multi-user.target

等同於級別3

5

runlevel5.target, graphical.target

多使用者的圖形介面

6

runlevel6.target, reboot.target

重啟

emergency

emergency.target

緊急Shell

(1)檢視系統的target

檢視當前系統的執行級別,可使用runlevel命令和systemctl get-default命令,如下:

(2)切換系統的target

例如,圖形化模式(5)和字元模式(3)之間的切換可執行“init 3”,“init 5”“systemctl isolate multi-user target”“systemctl isolate graphical.target”

使用“init 3”或“systemctl isolate multi-user target”

使用“init 5”或“systemctl isolate graphical.target”

使用“init 0”關閉當前系統,“init 6”重啟當前系統

使用“systemctl poweroff”關閉當前系統,“systemctl reboot”重啟當前系統

設定預設執行級別,如將字元模式設定為預設的執行級別的操作如下:

說明:修改完後,在下次啟動系統的時候會預設進入字元模式

3.優化啟動過程

優化開機自動載入的服務

(1)使用ntsysv工具

說明:單獨執行“ntsysv”命令時僅用於管理當前執行目標中的服務;通過“--level”選項可以對指定執行的目標(級別)中的服務進行管理,例如“ntsysv –level 35”,指同時對執行目標3、5中的系統服務的預設啟動狀態進行調整。

(2)使用systemctl工具

常用選項:

enable: 開機自啟動

disable:開機自動關閉

is-enable:檢視開機啟動狀態

例如:

檢視當前系統中已啟用的系統服務,可使用“systemctl list-units –type=service”命令