本章主要介绍如何管理Linux中的服务
刚装好Windows系统时,需要进行一些优化
右击某个服务,可以看到一些选项,包括启动、停止、重新启动等。这些选项管理的是这 个服务的当前状态
双击服务名,在启动类型中设置的是系统启动时,这个服务要不要跟着一起运行
在Windows中管理一个服务,有以下两种管理方式
(1)管理服务当前的状态
(2)管理服务开机是否自动启动
在RHEL8中,通过输入systemctl list-unit-file命令可以列出系统中所有的服务,其中后 缀为service的那些服务类似于Windows中的服务。查看后缀为service的服务可以使用systemctl list-unit-files --type service命令
[root@redhat8 ~]# systemctl list-unit-files --type service
最后按【q】退出
一般情况下,我们启动、停止、重新启动服务,指的就是这些后缀为service的服务,后 缀.service一般可以不用写
查看sshd这个服务是否允许
[root@redhat8 ~]# systemctl is-active sshd
只有状态为active才说明此服务是正常运行的,其他状态都表示这个服务没有运行或没有 正常运行
关闭sshd
[root@redhat8 ~]# systemctl stop sshd
开启sshd
[root@redhat8 ~]# systemctl start sshd
重启sshd
[root@redhat8 ~]# systemctl restart sshd
查看sshd运行状态
[root@redhat8 ~]# systemctl status sshd
上面enabled说明此服务开机时自动启动,active表示当前是正在运行的
最下行并没有显示终端提示符,按【q】键退出
禁用服务
[root@redhat8 ~]# systemctl mask sshd
将sshd设置为mask,则此服务关闭之后就不能再启动了,这个类似于Windows中把某服 务禁用了。通过systemctl status sshd来查看是否设置为了mask
要取消mask,使用unmask命令即可
[root@redhat8 ~]# systemctl unmask sshd
以上这些除mask外的操作只是影响当前状态,并不会影响系统重启后此服务是否会自动启动
查看某服务开机是否自动启动,可以使用“svstemctl is-enabled 服务名”命令来判断,结果如果是enabled则开机会自动运行,不管当前是否启动,系统启动时此服冬会自动启动
[root@redhat8 ~]# systemctl is-enabled sshd
这里显示结果为enabled,说明sshd 服务开机时会自动启动。如果不希望开机自动启动,则使用“systemctl disable服务名”即可
[root@redhat8 ~]# systemctl disable sshd
现在显示为disabled,说明sshd 服务开机时不会自动启动,即使sshd现在是运行的,但是重启系统之后sshd也是不会自动运行的,只有手动start之后才能运行
enable和disable操作影响的是开机是否会自动启动,并不影响当前状态。如果希望设置开机自动启动,同时设置现在也启动起来,那么加上--now选项
[root@redhat8 ~]# systemctl enable sshd --now
现在查看sshd的状态
1.3 判断服务名是什么
很多时候我们安装了某个软件之后,想知道服务名是什么,可以通过“systemctl list-unit-files--type service | grep关键字”来判断。例如,ssh这个服务到底是ssh还是 sshd
[root@redhat8 ~]# systemctl list-unit-files --type service | grep ssh