系统服务控制

系统服务控制

 systemctl 控制类型  服务名称

控制类型

start: 启动
stop:停止
restart:重新启动  (先stop服务,在start服务,服务会中断)
reload:重新加载   (服务不会中断)
status:查看服务状态
enable:开机自启动
disable:开机禁用

系统服务的启动和控制

ntsysv系统服务管理工具(字符型界面)

1、ntsysv

[root@server2 ~]# ntsysv 

在这里插入图片描述

附加:按上下键选择服务,空格键选择是否开机自启该服务,Tab键选择确定或取消

系统运行级别

0——关机
1——单用户模式,启动最小的服务进程,可以想象为windows的安全模式,主要用于系统修复
2——不完全的命令行模式,不包含NFS服务(网络文件共享服务)
3——完全的命令行模式,就是标准字符界面
4——系统保留给用户自定义
5——图形模式
6——重新启动

ntsysv --level 级别列表

[root@server2 ~]# ntsysv --level 3 4 5

在这里插入图片描述

附加:
按照默认设置,只有当前运行级别会被设置,要配置不同的运行级别,使用“--level”选项来指定一个或多个运行级别
例如:命令“ntsysv  --level  3 4 5”配置运行级别345

通过命令来改变系统服务:systemctl工具

设置取消开机自启动
systemctl  is-enable  服务名称

举例
[root@server2 ~]# systemctl disable sshd.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/sshd.service.
[root@server2 ~]# systemctl is-enabled sshd   //查看系统服务状态
disabled    //取消开启自启动
systemctl  enable/disable  服务名称

举例 
设置开机自启动
[root@server2 ~]# systemctl enable sshd.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/sshd.service to /usr/lib/systemd/system/sshd.servie.
[root@server2 ~]# systemctl is-enabled sshd   //查看系统服务状态
enabled  //开机自启动

ntsysv命令与systemctl工具的区别

1、ntsysv工具
提供一个交互式、可视化窗口
可以在字符终端运行
便于集中管理多个服务

2、systemctl工具
不提供交互式、可视化窗口
管理单个服务效率更高

区别:
runlevel只能查看切换运行级别与当前运行级别
systemctl时能查看默认的运行级别

修改系统默认的运行级别

systemctl   set-default  multi-user.target  //修改为字符型界面
systemctl   set-default  graphial.target    //修改为图形化界面
[root@server2 ~]# systemctl get-default //查看默认状态
graphical.target   //图形化状态
默认切换为图形化的界面
[root@server2 ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
[root@server2 ~]# systemctl get-default 
multi-user.target  //修改为字符状态模式
s:软连接  f:强制删除(原始存在的文件)

以上命令需要重新启动

不重启机器而切换当前的运行级别

#isolate 用于切换当前的运行级别
切换到multi-user.target(命令行界面)
systemctl isolate multi-user.target
切换到graphical.target(图形界面)
systemctl isolate graphial.target

举例

[root@server2 ~]# systemctl isolate graphical.target (在字符型页面使用)

在这里插入图片描述
举例:

[root@server2 ~]#systemctl isolate multi-user.target

在这里插入图片描述

查看当前的运行级别

[root@server2 ~]# who -r
         运行级别 5 2020-12-10 19:29
[root@server2 ~]# runlevel 
N 5          N:表示没有切换过运行级别,此时的运行级别为5
[root@server2 ~]# init 3   切换运行级别3

在这里插入图片描述

此时运行级别就发生改变,之前的运行级别为3
输入init 5 ,再次切换运行级别
(init 3:字符型界面)(init5:图形化界面)
[root@server2 ~]# systemctl isolate multi-user.target  (切换到字符型界面)
[root@server2 ~]# systemctl isolate graphical.target   (切换到图形化界面)
附加:以上重启之后会跳转到默认的界面状态,若想使其保持同一状态,就需要修改默认状态的配置

查看一个运行级别下面所有的unit

#list-dependencies: 分析指定target各unit之间的依赖关系,如果不指明target,则表示是默认的target
#systemctl list-dependencies multi-user.target
multi-usre.target

ntsysv系统服务管理工具
ntsysv 
ntsysv --level 级别列表 

在这里插入图片描述

按照默认设置,只有当前运行级别会被配置。要配置不同的运行级别,使用“--level”选项来指定一个或多个运行级别。例如,命令“ntsysv --level 345”配置运行级别345。
说明:各个service前的红色圆点,如果是绿色,表示正在运行中,active如果是红色色,表示是inactive

分析指定target各unit之间的依赖关系

systemctl  list-dependencies  multi-user.target
查看哪些target引用了当前运行级别的target
#--reverse
systemctl list-dependencies multi-user.target --reverse
multi-user.target

在这里插入图片描述

multi-user.target被graphical.target所引用

列出系统中包含的所有target

[root@server2 ~]# systemctl  list-unit-files  --type=target

systemctl 与关机/重启相关的命令

1.关闭cpu,但未关闭电源
systemctl half
2.关闭电源
systemctl poweroff (建议使用这个,这个会真正关闭电源)
3.重启机器
systemctl reboot

对所有unit的操作

1.列出所有ative的unit,注意:列出的unit是显示是否active
systemctl list-units
说明:systemctl 与 systemctl list-units 功能相同

2.列出所有unit,包括inactive状态的
systemctl list-units   --all

3.列出所有未运行的unit,即状态是inactive的
systemctl list-units --all --state=inactive

4.列出当前活动状态(active)的所有服务单元
systemctl list-units --type=service

5.列出所有状态(包括active和inactive)的所有服务unit
systemctl list-units --type=service --all

6列出所有unit文件,注意:这里显示是否enabled
systemctl list-unit-files

针对四种state的说明

enable:已建立自启动链接
disabled:没建立自启动链接
static:该设置文件没有[Install]部分(无法执行),只能作为其他配置文件的依赖
masked:该设置文件被禁止建立启动链接
7.列出一个服务所依赖的单元
#list-dependencies列出一个Unit的所有依赖
systemctl list-dependencies firewalld.service

8.查看unit文件
#cat:用来指定要查看的unit文件

systemctl cat openresty.service
# /usr/lib/systemd/system/oenresty.servic
9.重新加载所有修改过的unit文件
#daemon-reload :当我们手动修改/添加unit文件后,需要执行daemon-reload
systemctl daemon-reload


10.显示指定unit的所有底层参数
systemctl show openresty.service
也可只看其中的一项:
systemctl show -p PIDFile openresty.service
PIDFile=/usr/local/openresty/nginx/logs/nginx.pid

系统服务的启动和控制

查看系统服务的启动状态
systemctl is-enabled 服务名称
设置系统服务的启动状态
systemctl enable/disable 服务名称

优化启动过程

ntsysv工具
  提供一个交互式、可视化窗口
  可以在字符终端运行
便于集中管理多个服务

systemctl工具

不提供交互式、可视化窗口
管理单个服务效率更高

附加:

daemon:系统为了具备某些功能需要开启相应的服务,服务就是我们说的service,但是service的提供者是一些程序,所以为了完成这个service的程序,我们称呼它为daemon。即为完成某个服务需要一个daemon在后台中运行,没有这个daemon就不会有service,基本上每个服务都能找到一个它的daemon,所以,昨天学的systemctl daemon-reload非常好用!!
getty:这个服务是为了实现多终端功能的,什么是多终端呢?就是类telnet的多线程,为了允许多用户同时登陆时系统的这个功能而实现的
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值