Linux之systemd管理

一、Systemd的由来

历史上,Linux 的启动一直采用init进程。
下面的命令用来启动服务。

$ sudo /etc/init.d/httpd start
# 
$ service httpd start

这种方法有两个缺点:

  1. 是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
  2. 是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长。

二、Systemd的概述

Systemd 就是为了解决这些问题而诞生的。它的设计目标是,为系统的启动和管理提供一套完整的解决方案。
根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。

使用了 Systemd,就不需要再用init了。Systemd 取代了initd,成为系统的第一个进程(PID 等于 1),其他进程都是它的子进程。

Systemd 的优点是功能强大,使用方便,缺点是体系庞大,非常复杂。事实上,现在还有很多人反对使用 Systemd,理由就是它过于复杂,与操作系统的其他部分强耦合,违反Llinux的哲学之一

三、Systemd的特性

  1. 基于socket的激活机制,systemd为支持此机制的服务监听socket,当接收到来自客户端的socket通信时,由systemd激活对应的服务,应答客户端的请求;

  2. 基于bus的激活机制。

  3. 基于device的激活机制,当有设备接入到系统时,systemd会自动激活device、mount、automount等unit来识别、挂载、接入对应的设备;

  4. 基于path的激活机制,当某个文件路径变得可用时或路径出现相应的文件时,激活相应的服务;

  5. 系统快照机制,保存各unit的当前状态信息到持久存储中,在下次开机时可恢复之前某次快照时的系统状态,必要时可自动载入;

  6. 兼容Centos 5的SysV init 以及Centos 6的upstart机子,能够继续使用/etc/rc.d/init.d目录中的服务管理脚本。

  7. 系统引导时,其服务的启动时并行的;

  8. 按需激活进程;

  9. 基于依赖关系定义了服务控制逻辑;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值