在Centos 中 systemctl 是設置系統服務的命令,即 service , 它融合之前service和chkconfig的功能於一體。
可以使用它永久性或只在當前會話中啟用/禁用服務。
CentOS 7 的 /etc/rc.d/rc.local 是沒有執行權限的, 系統建議創建 systemd service 啟動服務。
查看服務列表狀態:
systemctl list-units --type=service
systemctl list-unit-files 列出所有已經安裝的 服務 及 狀態 (可為人所讀, 內容簡略、清晰):
systemctl 可以列出正在運行的服務狀態,如圖:(基本不為人所讀, 內容復雜、全面)
systemd-cgls 以樹形列出正在運行的進程,它可以遞歸顯示控制組內容。如圖:
2、如何啟動/關閉、啟用/禁用服務?
啟動一個服務:
systemctl start postfix.service
關閉一個服務:
systemctl stop postfix.service
重啟一個服務:
systemctl restart postfix.service
顯示一個服務的狀態:
systemctl status postfix.service
在開機時啟用一個服務:systemctl enable postfix.service
在開機時禁用一個服務:systemctl disable postfix.service
查看服務是否開機啟動: systemctl is-enabled postfix.service
查看已啟動的服務列表: systemctl list-unit-files | grep enabled
查看啟動失敗的服務列表: systemctl --failed
PS:使用命令 systemctl is-enabled postfix.service 得到的值可以是enable、disable或static,這里的 static 它是指對應的 Unit 文件中沒有定義[Install]區域,因此無法配置為開機啟動服務。
說明:啟用服務就是在當前“runlevel”的配置文件目錄 /etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 里面對應服務配置文件的軟鏈接;
禁用服務就是刪除此軟鏈接,添加服務就是添加軟連接。
如圖:
打開某個 service 文件, 查看一下其中內容: