systemctl 命令詳解


引言

CentOS 7.0 中一個最主要的改變,就是切換到了systemd。它用於替代紅帽企業版Linux前任版本中的SysV和Upstart,對系統和服務進行管理。systemd兼容SysV和Linux標准組的啟動腳本。

Systemd是一個Linux操作系統下的系統和服務管理器。它被設計成向后兼容SysV啟動腳本,並提供了大量的特性,如開機時平行啟動系統服務,按需啟動守護進程,支持系統狀態快照,或者基於依賴的服務控制邏輯。 先前的使用SysV初始化或Upstart的紅帽企業版Linux版本中,使用位於/etc/rc.d/init.d/目錄中的bash初始化腳本進行管理。而在RHEL 7/CentOS 7中,這些啟動腳本被服務單元取代了。

服務單元以.service文件擴展結束,提供了與初始化腳本同樣的用途。要查看、啟動、停止、重啟、啟用或者禁用系統服務,你要使用systemctl 來代替舊的service命令。注:為了向后兼容,舊的service命令在CentOS 7中仍然可用,它會重定向所有命令到新的 systemctl 工具。

查看服務
# 查看所有服務
[root@hdp-01 ~]# service --status-all
# 或分頁查看
[root@hdp-01 ~]# service --status-all | more
[root@hdp-01 ~]# service --status-all | less

# 查看正在運行服務
[root@hdp-01 ~]# service --status-all | grep running
#或
[root@hdp-01 ~]# initctl list
#或
[root@hdp-01 ~]# systemctl

# 查看某個服務
[root@hdp-01 ~]# service --status-all | grep crond
crond (pid  1216) is running...
#或
[root@hdp-01 ~]# service crond status
crond (pid  1216) is running...

# 查看服務啟動配置
[root@hdp-01 ~]# chkconfig --list
啟動服務
[root@hdp-01 ~]# systemctl start httpd.service
停止服務
[root@hdp-01 ~]# systemctl stop httpd.service
重啟服務
[root@hdp-01 ~]# systemctl restart httpd.service
查看服務狀態
[root@hdp-01 ~]# systemctl status httpd.service
控制服務是否開機啟動
[root@hdp-01 ~]# systemctl enable httpd.service     # 開啟開機啟動服務
[root@hdp-01 ~]# systemctl disable httpd.service    # 取消開機啟動服務
[root@hdp-01 ~]# systemctl is-enabled httpd.service # 查看服務是否開機啟動
重新加載服務配置文件
[root@hdp-01 ~]# systemctl reload httpd.service
顯示啟動失敗的服務
[root@hdp-01 ~]# systemctl --failed 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM