systemd是为改进传统系统启动方式而退出的Linux系统管理工具,现已成为大多数Linux发行版的标准配置

systemd与系统初始化

Linux系统启动过程中,当内核启动并完成装载跟文件系统后,就开始用户空间的系统初始化工作。Linux由三种系统初始化方式:

来源于UNIX的system V initialization

UpStart方式(SysV)

systemd方式

sysVinit初始化方式

传统的SysVinit是基于运行级别的系统。运行级别就是操作系统当前正在运行的功能级别,用来设定不同环境下所运行的程序和服务

SysVinit初始化原理简单,易于理解,可以依靠shell叫不能控制服务启动,服务脚本编写比较容易

SysV启动是线性,顺序的,启动过程比较慢。

Upstart初始化方式

Upstart是基事件机制的启动系统,它使用事件来启动和关闭系统服务。

系统服务的启动,停止等均是有事件触发的,他同时又能作为事件源触发其他服务。事件可以由内部产生,也可以由用户提供。运行级别的改变也可以被看作是事件。Upstart更加灵活,不仅能够在运行级别改变的时候启动或停止服务,也能在接收到系统发生其他改变的信息时启动或者停止服务

Upstart 使用/etc/init/目录中的系统服务配置文件决定系统服务何时启动,何时停止。

系统的所有服务和任务都是由事件驱动的。Upstart是并存的,Upstart主要解决服务的即插即用。针对服务顺序启动慢的问题。Upstart将相关的服务分组,让组内的服务顺序启动,组与组之间服务并行启动

systemd初始化方式

前两种系统初始化方式都需要由init进程来启动其他用户级别进程或服务,最终shi完成系统启动的全部过程。init始终是第一进程,其PID始终是1,他是系统所有进程额父进程。systemd初始化使用systemd取代init,作为系统的第一个进程。systemd不通过init脚本来启动服务,而是采用一种并行启动服务的机制。

systemd采用单元文件替换之前的初始化脚本呢。Linux以前的服务管理是分布式的。由SysV或Upstart通过/etc/rc.d/init.d/目录下的脚本进行管理。允许管理员控制服务的状态。采用Systemd,这些脚本就被单元文件所替代。单元有多种类型不限于服务,还包括挂载点,文件路径等。systemd的但源文件主要被放在/usr/lib/systemd/system和/etc/systemd/system/目录中。

systemd使用启动目标(Target)替代运行级别。前两种系统初始化方式使用运行级别代表特定的操作模式,每个级别可以启动特定的一些服务。启动目标类似于运行级别,又比运行级别更为灵活,它本身是一个目标类单元,可以更为灵活的为特定的启动目标组织要启动的单元,如启动服务,装载挂载点等。

systemd式Linux系统中最新的系统初始化方式,主要设计目标是刻骨SysVinit固有的缺点,尽可能的快速启动服务,减少系统资源的占用,为此实现了并改姓启动的模式,并行启动的最大的难点就在于解决服务之间的依赖性,systemd使用类似缓冲池的办法加以解决。

与Upstart相比,systemd更进一步提高了并行启动的能力,极大的缩短了系统启动的时间,Upstart采用时间驱动机制,服务可以暂不启动,但是有依赖关系的服务还是必须先启动的,这还是一种串行执行。systemd能够进一步提高并发性,即便对那些Upstart认为存在相互依赖而必须运行的服务。也可以并发启动

systemd与SysVinit兼容,支持并行化任务。按需启动守护进程,基于是事务依赖性关系精密控制各种服务,非常有助于标准化的Linux的管理。systemd提供超时机制,所有的服务有5分钟的超时限制,防止系统被卡。

____本文摘自《centos Linux系统管理与运维》

systemd管理的更多相关文章

  1. CentOs7下systemd管理知识要点

    centOs7的一个巨大的变动就是用systemd取代了原来的System V init.systemd是一个完整的软件包,安装完成后有很多物理文件组成,大致分布为,配置文件位于/etc/system ...

  2. Ubuntu 18.04 使用Systemd管理MySQL 5.6

    转自:https://blog.csdn.net/skykingf/article/details/45225981 如何用Systemd管理 general 包安装的MySQL呢? 首先看看yum安 ...

  3. dockerd启动配置_修改IP和systemd管理

    docker采用CS架构,dockerd是管理后台进程,默认的配置文件为/etc/docker/daemon.json(--config-file可以指定非默认位置). 一个完整的daemon.jso ...

  4. linux任务计划 chkconfig工具 systemd管理服务 unit介绍 target介绍

    linux任务计划 任务计划:特定时间备份数据,重启服务,shell脚本,单独的命令等等. 任务计划配置文件:cat /etc/crontab [root@centos7 ~]# cat /etc/c ...

  5. 简述systemd的新特性及unit常见类型分析、使用systemd管理编译安装的nginx

    1. systemd新特性 并行处理(同时启动)所有服务. 基于依赖关系定义的服务控制逻辑 系统状态快照 按需激活进程,只有第一次被访问时才会真正启动: 2. systemd的常见unit类型 Ser ...

  6. linux任务计划cron、chkconfig工具、systemd管理服务、unit和target介绍

    第8周第1次课(5月14日) 课程内容: 10.23 linux任务计划cron10.24 chkconfig工具10.25 systemd管理服务10.26 unit介绍10.27 target介绍 ...

  7. Linux centos7 linux任务计划cron、chkconfig工具、systemd管理服务、unit介绍、 target介绍

    一.linux任务计划cron crontab -u  -e -l -r 格式;分 时 日 月 周 user command 文件/var/spool/corn/username 分范围0-59,时范 ...

  8. Linux 使用 Systemd 管理进程服务

    转载自:https://mp.weixin.qq.com/s/e-_PUNolUm22-Uy_ZjpuEA systemd 介绍 systemd是目前Linux系统上主要的系统守护进程管理工具,由于i ...

  9. systemd管理网络应用

    采用systemd-networkd管理网卡 主网卡eth0的配置文件/etc/systemd/network/20-eth0.network,静态配置时内容示例如下: [Match] Name=et ...

  10. systemd管理进程

    systemd很强大的管理工具,这里简单用来管理一个进程: [Unit]Description=Imges Compress Server [Service]Type=simpleExecStart= ...

随机推荐

  1. 全面认识nslookup命令及子命令

  2. 富文本编辑器(wangEditor)

    近期在产品的开发工作中遇到要使用富文本编辑器的地方.于是对比了几款编辑器, 最后选择了wangEditor. 优点:轻量.简洁.界面美观.文档齐全.   缺点: 相较于百度ueditor等编辑器功能较 ...

  3. 魏永明: MiniGUI的涅槃重生之路

    本文系转载,著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 魏永明 来源: 微信公众号linux阅码场(id: linuxdev) 本文背景 MiniGUI是最负盛名的 ...

  4. 百万年薪python之路 -- 文件操作

    1.文件操作: f = open("zcy.txt" , mode="r" , encoding="UTF-8") open() 打开 第一 ...

  5. Navicate12激活教程(完整详细版)

    写在前面 最近身边的小伙伴苦于没有Navicat12的激活工具,不能使用最新版的Navicat,鉴于此,遂将自己整理的文章贴出来,供大家参考,不过个人还是主张维护正版的意愿,如果经济实力允许的话,还是 ...

  6. 如何使用git上传代码

    首先在github 上创建好远程仓库,并拷贝仓库地址,接下来按照以下步骤:   1.打开命令行进入要上传的文件目录,初始化 git init  2. 建立远程仓库,git remote add ori ...

  7. Exceptionless—本地部署

    参考:https://blog.csdn.net/shiyaru1314/article/details/76176236 自己采坑: ES 1.7.5版本不好使.使用最新版本6.X以上版本也不行 用 ...

  8. 正则表达式和python中的re模块

    ---恢复内容开始--- 常用的正则匹配规则 元字符 量词 字符组 字符集 转义符 贪婪匹配 re模块使用正则表达式 实例引入(是否使用re模块和正则表达式的区别) # 不使用正则表达式 phone_ ...

  9. 学习笔记59_python字符串处理

    python中,字符串可以使用 '或"括起来 1. 要想写成  "hellow "aaaa"  ",在python中,可以"hellow ' ...

  10. OpenCV图像处理以及人脸识别

    OpenCV基础 OpenCV是一个开源的计算机视觉库.提供了很多图像处理常用的工具 批注:本文所有图片数据都在我的GitHub仓库 读取图片并显示 import numpy as np import ...