一、service和systemctl的区别
在CentOS 7中,service和systemctl都是用于管理系统服务的命令。但它们有一些区别:
配置文件位置不同:service命令使用/etc/init.d/目录下的脚本文件,而systemctl命令使用/lib/systemd/system/目录下的unit文件。
状态信息不同:service命令通过执行脚本来获取服务状态信息,而systemctl命令通过systemd的状态管理功能来获取状态信息。因此,systemctl命令提供了更详细和准确的状态信息。
命令选项不同:service命令只有start、stop、restart、reload等简单选项,而systemctl命令提供了更多的选项,比如enable、disable、status、is-active、is-enabled等。
兼容性不同:一些较老的服务可能只能通过service命令启动或停止,而systemctl命令并不支持。
综上所述,虽然两者都可以用于管理系统服务,但systemctl命令更加强大和灵活,更适合在CentOS 7中使用。
二、关于service的指令
service <服务名> start – 启动指定的服务
service <服务名> stop – 停止指定的服务
service <服务名> restart – 重启指定的服务
service <服务名> reload – 重新加载指定的服务
service <服务名> status – 查看指定服务的运行状态
service <服务名> enable – 开机启动指定的服务
service <服务名> disable – 禁止开机启动指定的服务
service <服务名> --full-restart – 重启指定的服务,会满足所有配置文件的改动
service --status-all – 列出所有系统中的服务及其状态
service <服务名> configtest – 检查指定的服务的配置文件是否正确
service <服务名> condrestart – 重新启动指定的服务,但只有在该服务已经启动过时才执行
service <服务名> try-restart – 重新启动指定的服务,但在服务没有启动前不执行
service <服务名> reload-or-restart – 尝试通过卸载和重新加载服务来重新启动指定服务
三、关于systemctl的指令
systemctl start <服务名> – 启动指定的服务
systemctl stop <服务名> – 停止指定的服务
systemctl restart <服务名> – 重启指定的服务
systemctl reload <服务名> – 重新加载指定的服务
systemctl status <服务名> – 查看指定服务的运行状态
systemctl enable <服务名> – 开机启动指定的服务
systemctl disable <服务名> – 禁止开机启动指定的服务
systemctl is-active <服务名> – 判断指定的服务是否正在运行
systemctl is-enabled <服务名> – 判断指定服务是否开启了开机自启
systemctl is-failed <服务名> – 判断指定服务是否启动失败
systemctl mask <服务名> – 锁定指定的服务,禁止所有对它的操作
systemctl unmask <服务名> – 解锁指定的服务
systemctl daemon-reload – 重载 systemctl 守护进程,读取最新的服务配置
systemctl list-units – 查看所有正在运行的服务
systemctl list-unit-files – 查看所有已安装的服务文件
systemctl show <服务名> – 显示指定服务的属性信息
systemctl set-property <服务名> <属性名>=<属性值> – 设置指定服务的属性
systemctl edit <服务名> – 编辑指定服务的配置文件(如果没有则新建一个)
systemctl cat <服务名> – 查看指定服务的配置文件
systemctl kill <服务名> – 关闭指定的服务
systemctl poweroff – 立即关闭系统
systemctl reboot – 立即重启系统
systemctl suspend – 让系统进入睡眠状态
systemctl hibernate – 让系统进入休眠状态