CentOS 6.7 systemctl详解

什么是systemctl?
systemctl是Linux系统管理工具,用于控制系统的启动、停止、重启等服务,它基于systemd系统和服务管理器,提供了一套简单、高效的命令行工具,使得系统服务的管理变得更加便捷。
systemctl在CentOS 6.7中的使用
systemctl基本命令
以下是一些常用的systemctl命令及其功能:
| 命令 | 功能 |
|---|---|
| systemctl list-unit-files | 列出所有单元文件 |
| systemctl list-units | 列出所有正在运行或已安装的单元 |
| systemctl start [服务名] | 启动服务 |
| systemctl stop [服务名] | 停止服务 |
| systemctl restart [服务名] | 重启服务 |
| systemctl enable [服务名] | 设置服务开机自启 |
| systemctl disable [服务名] | 禁用服务开机自启 |
| systemctl status [服务名] | 查看服务状态 |
| systemctl is-active [服务名] | 查看服务是否正在运行 |
| systemctl is-enabled [服务名] | 查看服务是否开机自启 |
systemctl使用示例
以下是一个使用systemctl启动和停止Apache服务的示例:

# 启动Apache服务 systemctl start httpd # 停止Apache服务 systemctl stop httpd # 重启Apache服务 systemctl restart httpd # 设置Apache服务开机自启 systemctl enable httpd # 禁用Apache服务开机自启 systemctl disable httpd # 查看Apache服务状态 systemctl status httpd # 查看Apache服务是否正在运行 systemctl is-active httpd # 查看Apache服务是否开机自启 systemctl is-enabled httpd
systemctl高级功能
systemctl mask
systemctl mask命令用于临时禁用服务,直到下次重启系统,使用此命令后,系统不会尝试启动被mask的服务。
# 临时禁用Apache服务 systemctl mask httpd
systemctl unmask
systemctl unmask命令用于解除对服务的mask,允许系统尝试启动被mask的服务。
# 解除Apache服务的mask systemctl unmask httpd
systemctl cat
systemctl cat命令用于查看单元文件的内容。

# 查看Apache服务的单元文件内容 systemctl cat httpd.service
FAQs
Q:systemctl和service命令有什么区别?
A:systemctl是systemd的命令行工具,用于管理系统服务,而service命令是传统的系统服务管理工具,在CentOS 6.7及更高版本中,推荐使用systemctl命令。
Q:如何查看所有已安装的systemd单元?
A:可以使用以下命令查看所有已安装的systemd单元:
systemctl list-unit-files --type=service

