RHEL 7服务控制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RHEL 7服务控制相关的知识,希望对你有一定的参考价值。
1、什么是服务控制?
服务的控制指的是我们对系统服务的启动、停止、重启、重新载入、查看状态以及设置服务开机是否自启动等操作。
2、RHEL 7中服务控制的变化
(1)在RHEL 6及以前的版本,我们对服务的控制使用的是service 和 chkconfig密令,在RHEL 7中服务控制的命令发生了变化,我们将使用systemctl命令来控制服务,systemctl集成了service和chkconfig的功能。
(2)Linux中会有一个最先启动的集成PID为1,我们认为这个PID为1的进程是所有进程的父进程。RHEL 6中PID为1的进程由程序"/sbin/init"启动,但在RHEL 7中PID为1的进程被程序"/usr/lib/systemd/systemd"代替了(可以使用ps -aux | more来查看),也就是说在RHEL 7中对服务的控制会使用systemd来完成
(3)虽然RHEL 7中在一定程度上可以使用service命令来控制服务,但建议使用systemctl
3、systemd的主要作用有2个
(1)服务的运行控制(启动、停止、重启、状态查看、重新载入)
(2)设置服务在开机时是否自启动
4、systemd的优点
(1)提高系统的启动速度,因为它能够提供并行功能,保证服务同时开启
(2)可以按需启动守护进程,而不再需要一个单独的服务
(3)自动对服务器的依赖进行管理,还可以防止超时。比如:某个服务的运行前提条件是网络连接必须可用,那么当网络连接不可用的时候,那么就没必要启动这个服务了
(4)使用Linux控制组追踪相关进程模式
5、systemd控制单元
在RHEL 7中多了一个控制单元的概念,后续我们在使用systemctl命令操作服务的时候服务名后边需要指定控制单元的类型,可以使用systemctl -t help命令查看所有的控制单元类型
6、systemctl 服务操作命令格式
systemctl的命令格式为: systemctl 命令 名称.类型
命令:stop start reload等
名称:服务名称
类型:控制单元类型
7、systemctl常用命令
[[email protected] /]# systemctl -t help #显示所有单元类型
[[email protected] media]# systemctl status sshd.service #查看sshd服务状态
[[email protected] media]# systemctl stop sshd.service #停止sshd服务
[[email protected] media]# systemctl start sshd.service #启动sshd服务
[[email protected] media]# systemctl restart sshd.service #重启sshd服务
[[email protected] media]# systemctl reload sshd.service #重新载入sshd服务,restart和reload的区别在于:restart是先关闭服务,再开启一个新的服务,reload在我们修改了服务的配置文件,只需要重新载入配置文件,不需要重启和关闭服务时使用,reload服务的进程号不会变
[[email protected] media]# systemctl is-active sshd.service #查看sshd服务是否处于活动状态;如过服务处于活动状态显示"active",如果服务为安装或处于非活动状态则显示"unknown"
[[email protected] media]# systemctl is-enabled sshd.service #查看sshd服务开机是否自启动
[[email protected] media]# systemctl enable sshd.service #设置sshd开机自启,命令执行成功会在“/etc/systemd/system/multi-user.target.wants/”目录下创建一个名为“sshd.service”,软链接的源为“/usr/lib/systemd/system/sshd.service"
[[email protected] media]# systemctl disable sshd.service #关闭sshd开机自启,命令执行成功会删除“/etc/systemd/system/multi-user.target.wants/”目录下的软链接“sshd.service”
[[email protected] media]# systemctl list-units #列出所有单元
[[email protected] media]# systemctl list-units --type=service #列出所有service类型的单元
[[email protected] media]# systemctl list-units --type=service --all #加上--all参数,service类型的单元活动的非活动的都会列出
[[email protected] media]# systemctl list-unit-files --type=service | grep enabled #查看已启动的服务列表
[[email protected] media]# systemctl list-unit-files --type=service | grep sshd #将和sshd相关的文件同时列出来
查看服务状态示例:
红色方框内的"enabled"代表服务开机会自启动
以上是关于RHEL 7服务控制的主要内容,如果未能解决你的问题,请参考以下文章
RHEL7/CentOS7服务控制之systemctl命令