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. Shell多进程执行任务

    展示代码 #!/bin/bash trap "exec 1000>&-;exec 1000<&-;exit 0" 2 # 分别为 创建管道文件,文件操作 ...

  2. 触摸屏键盘插件Virtual Keyboard 该怎么用 Virtual Keyboard 入门指南

    最近公司有个项目,这个项目的显示器是触摸屏, 所以在一些需要简单输入的input需要加一个触摸屏的软键盘, 我在github上找了很多开源项目,最后选择了Virtual Keyboard, 以下是我自 ...

  3. SpringBoot 配置提示功能

    目的 配置自动提示的辅助功能可以让配置写起来更快,准确率大大提高. springboot jar 包含提供所有支持的配置属性细节的元数据文件.文件的目的是为了让 IDE 开发者在用户使用 applic ...

  4. 微信支付 get_brand_wcpay_request fail,Undefined variable: openid

    本文将为您描述微信H5支付,微信JSAPI支付返回支付签名验证失败的解决方法 微信JSAPI支付时报这个错误 查看错误详情 alert(JSON.stringify(res)) 微信商户平台相关设置: ...

  5. 实现文字色彩渐变(Mask)

    文字色彩渐变是指的文字本身的颜色,不是背景渐变.要实现此效果可以采用Mask组件,本文先从介绍mask说起 1)Mask介绍 mask组件实现的作用是,mask组件所在游戏物体下的子游戏物体在mask ...

  6. react框架安装和使用

    react 其实react跟vue差不多, 区别:vue-  双向数据绑定, react  单向数据绑定. 中文文档:https://react.docschina.org/ 第一步:安装方式,不能直 ...

  7. Dockerfile 指令详解

    GitHub Page:https://blog.cloudli.top/posts/Dockerfile-指令详解/ FROM FROM 命令指定基础镜像.在构建镜像时,基础镜像必须指定,因此在 D ...

  8. 谷歌黑客语法(google hacking)让你的搜索更精准有效

    Google Hacking的含义原指利用Google Google搜索引擎搜索信息来进行入侵的技术和行为: 现指利用各种搜索引擎搜索信息来进行入侵的技术和行为,但我们也可以利用这个在互联网上更加便捷 ...

  9. 明解C语言 入门篇 第一章答案

    练习1-1 #include <stdio.h> int main() { int a; a = 15; int b; b = 37; int c; c = a - b; printf(& ...

  10. Java 8 - 行为参数化

    前言: 以下内容来源于java8实战一书,我将里面学习的内容做一个整理,方便没空读书的小伙伴快速入门实战java8 正文: 假设一个果农收获了一园的苹果,他需要你根据他的条件筛选出满意的苹果 首先我们 ...