`
gaojingsong
  • 浏览: 1196752 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【CentOS7中的unit(单元)概念】

阅读更多

CentOS7中新增了unit(单元)的概念,它是所有资源的统称。

 

unit总共分为:

  • Service:系统服务
  • Target:多个 Unit 构成的一个组
  • Device:硬件设备
  • Mount:文件系统的挂载点
  • Automount:自动挂载点
  • Path:文件或路径
  • Scope:不是由 Systemd 启动的外部进程
  • Slice:进程组
  • Snapshot:Systemd 快照,可以切回某个快照
  • Socket:进程间通信的 socket
  • Swap:swap 文件
  • Timer:定时器

Systemd由一个叫做单元(Unit)的概念,它保存了服务、设备、挂载点和操作系统其他信息的配置文件,并能够处理不同单元之间的依赖关系。大部分单元都静态的定义在单元文件中,也有一些是动态生成的。单元有多种状态:

  • 处于活动的则是(active),当前正在运行

  • 停止的则是(inactive),当前已经停止

  • 启动中的则是(activing),当前正在启动

  • 停止中的则是(deactiving),当前正在停止

  • 失败的则是(failed)状态,意思说单元启动过程中遇到错误比如找不到文件、路径或者进程运行中崩溃了等。

 

systemctl list-units

# 查看当前系统的所有unit 

 

systemctl list-units --type=service

# 查看所有类型为service的unit

 

systemctl status

# 查看当前系统中的unit状态

 

systemctl status sshd.service

# 查看指定的sshd.service的状态

 

systemctl is-active sshd.service

# 查看某个 Unit 是否正在运行

 

systemctl is-failed sshd.service

# 查看某个 Unit 是否处于关闭状态

 

systemctl is-enabled sshd.service

# 查看某个 Unit 是否开启了自启动状态

 

在旧版本的CentOS6中,对于RPM包安装的服务的管理,主要是通过service命令和chkconfig命令来管理。如:

service network start|stop|status|restart|reload|force-reload

# 网络服务的启动|关闭|状态|重启|重新加载配置文件|强制重新加载配置文件

 

chkconfig network on|off

# 开启|关闭网络服务的自启动

 

在CentOS7中,对于RPM包安装的服务的管理,可以采用systemctl命令来管理,同时,向下兼容service命令和chkconfig命令。

systemctl start|stop|status|restart|reload|force-reload network

# 网络服务的启动|关闭|状态|重启|重新加载配置文件|强制重新加载配置文件

 

systemctl enable|disable network

# 开启|关闭网络服务的自启动

 

systemctl daemon-reload

# 重载所有修改过的配置文件

 

 

每一个 unit 都有一个配置文件,告诉 systemd 怎么启动这个 unit 。

systemd 默认从目录/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/中的配置文件,真正的配置文件存放在/usr/lib/systemd/system/目录中。

 

systemctl enable命令,用于在上面两个目录之间,建立符号链接。

systemctl disable命令,用于在上面两个目录之间,撤销符号链接。

 

systemctl list-unit-files

# 列出所有unit的配置文件

 

systemctl list-unit-files --type=service

# 列出所有服务的配置文件

 

systemctl cat network.service

# 查看network服务的配置文件的内容

# 说明:末尾的.service可以省略,默认就是查看服务类型的unit。

0
0
分享到:
评论

相关推荐

    centos7下systemd服务管理全解.doc

    在centos7中,systemd服务管理器取代了传统的init进程,提供了一整套解决方案来管理系统的启动和服务。systemd解决了init进程的两个主要缺点:长时间的启动时间和复杂的启动脚本。 systemd的新特性包括: 1. 系统...

    深入浅析centos7中的systemd

    在 CentOS 7 中,运行级别通过 target unit 来表示: - **0 (poweroff.target)**:关机模式。 - **1 (rescue.target)**:单用户模式,用于系统维护。 - **2-4 (multi-user.target)**:多用户文本模式。 - **5 ...

    利用systemd部署golang项目的实现方法

    在CentOS 7中,systemd的使用使得系统服务的启动方式发生了改变,不再使用传统的`/etc/init.d`脚本,而是通过`systemctl`命令和配置文件来管理服务。 systemd的配置文件主要存放在三个目录中,它们分别是: - `/...

    lliunx操作系统下redis-5.0.4.tar.gz

    首先,让我们了解Redis的核心概念。Redis是一个基于内存的数据结构存储系统,支持数据类型如字符串、哈希、列表、集合和有序集合。它通过提供丰富的命令接口,使得数据操作变得简单而高效。Redis-5.0.4是Redis的一个...

    redis安装包

    接下来,我们将按照以下步骤在CentOS 7上安装Redis 4.0.8: 1. **更新系统**: 在开始安装前,确保系统是最新的。 ``` sudo yum update -y ``` 2. **安装编译工具**: Redis是用C语言编写的,因此需要一些开发...

    snmp4j的发送和接收trap.zip

    在深入学习和使用这些资源时,你应理解SNMP协议的基本概念,包括OID(Object Identifier,对象标识符)、MIB(Management Information Base,管理信息库)、PDU(Protocol Data Unit,协议数据单元)等。同时,熟悉...

    systemd守护进程_运维基础知识

    在CentOS 7中,`systemctl`取代了`chkconfig`和`service`命令,提供了更统一的接口。不过,非由systemd启动的服务,`systemctl`无法直接控制,需要自定义unit脚本。 systemd管理的服务单元(unit)主要有以下几种...

    服务基础之服务简单介绍(systemd)

    - 支持多种类型的单元(unit),如服务(service)、设备(device)、挂载点(mount)等,以管理不同的系统元素。 - 提供处理单元间依赖关系的功能。 - 具有静态和动态的单元文件管理,兼顾兼容性和灵活性。 ...

    系统学习—-Systemd

    在CentOS 7中,Systemd成为了默认的初始化系统,取代了传统的sysvinit。Systemd的主要特性包括服务按需激活、系统状态快照以及依赖关系驱动的服务控制逻辑。 核心概念是Unit,它是Systemd的基本单位,可以是服务...

    zebra-0.95a.tar.gz实现一键安装

    例如,在Systemd系统中,你可以创建一个systemd服务单元文件,然后启动服务: ```bash sudo nano /etc/systemd/system/zebra.service ``` 在编辑器中输入类似以下内容: ```ini [Unit] Description=Zebra Routing...

    ActiveMQ linux安装包

    首先,我们需要了解ActiveMQ的基本概念。消息队列(MQ)是一种软件机制,用于在应用程序之间存储和转发消息。它充当了通信的中介,确保即使在发送方和接收方之间存在短暂的网络故障时,消息也能被正确传递。ActiveMQ...

    kubernetes-node-linux-amd64.tar.gz

    它由多个组件构成,其中Node节点是集群的基础,负责运行Pods(Kubernetes的基本执行单元)以及与集群其余部分进行通信。 二、Node节点的角色 Node节点是Kubernetes集群中的工作机器,它们可以是物理机或虚拟机,...

Global site tag (gtag.js) - Google Analytics