Linux(入门基础):102---systemd进程简介

引入

  • centos 7.x以后,开始使用systemd这个启动服务管理机制,放弃沿用多年的System V的init开机启动服务

一、并行处理所有服务,加速开机流程

  • 旧的init启动脚本是【一项一项任务依序启动】的模式,因此不依赖的服务也是得要一个一个的等待
  • 我们的硬件主机系统与操作系统几乎都支持多内核架构了,因此systemd也可以让所有的服务同时启动

二、systemctl系统服务管理命令

  • 系统上仅有一个systemd服务搭配systemctl命令来处理,无须其他额外的命令来支持。
  • 不像System V还要init、chkconfig、service等命令

三、服务依赖性的自我检查

  • 例如:如果我们需要启用服务A,但是服务A需要服务B的支持。如果此时服务B没有开启,systemd会自动帮你启动B服务
  • 这比init进程要好用的多

四、服务分类

systemd旗下管理的服务非常多。systemd先定义所有的服务为一个服务单位(unit),并将该unit归类到不同的服务类型中

  • 旧的init:仅分为stand  alone和super  daemon
  • systemd:将服务单位(unit)区分为:service(系统服务)、socket(数据监听与交换的socket文件服务)、target(提供不同类似运行级别分类的操作环境)、path、snapshot、timer等多种不同的类型

五、向下兼容旧有的init服务脚本

  • systemd可以兼容init的启动脚本,旧的init启动脚本也能够通过systemd来管理

六、systemd无法替换init哪些功能

虽然systemd功能强大,但是init的有些功能是systemd无法替换的

  • init程序有7个运行级别,但是systemd大概仅有1、3、5
  • 全部的systemd都用systemctl这个管理程序命令来管理,而systemctl支持的语法有限制,不想/etc/init.d/daemon就是纯脚本可以自定义参数
  • 如果某个服务是管理员自己手动启动,而不是使用systemctl去启动,那么systemd将无法检测到该启动的服务,从而无法进一步管理
  • systemd启动过程中,无法与管理员通过标准输入传入信息。因此,自己编写systemd的启动设置时,务必要取消交互机制(连通过启动时传进的标准输入信息也要避免)

猜你喜欢

转载自blog.csdn.net/qq_41453285/article/details/88586486
今日推荐