1.简介
在centos5中生成和管理用户空间中的进程以及完成系统的初始化使用的是init,并且是依次启动。在centos6中则是使用的upstart,在一定程度上实现了并行启动,但是仍然存在依赖关系,到了centos7中开始使用systemd,真正的实现并行启动、延时按需启动。
2.systemd的特性
1 启动系统的过程中实现了并行启动
2 由systemd所管理的服务可以实现按需激活
3 支持系统服务状态快照
4 可以定义程序之间依赖关系
3.unit介绍
unit的配置文件是uit的核心,在配置文件中主要包含
1. 需要管理服务或者程序
2. 服务或者程序需要监听的套接字
3. 保存的系统快照(就是制作快照的时候,系统中各个服务的状态)
4. 其他和init相关的配置
unit配置文件的位置
/lib/systemd/system 本地配置的系统单元
/run/systemd/system 运行时配置的系统单元
/usr/lib/systemd/system 第三方软件的系统单元(sshd,nginx..)
注意:unit(单元)和init中的服务脚本类似,但是不相同
4.unit的多种类别
1 类型1:service unit,这是服务类型的unit,该类unit后缀是 .service,比如nginx.service,通过这个nuit可以实现启动、关闭、查看状态等 2 该类unit位于 /usr/lib/systemd/system 3 注意:unit本质上来说并不是脚本,而仅仅是systemd一个配置文件,因此这个unit文件不具有执行权限,而且也无法执行 4 启动服务的方式:通过让systemd去读取配置文件中的内容,完成nginx进程的启动 5 类型2:device unit,这是设备unit,该类unit的后缀是.device,这类unit的作用是用来识别设备文件 6 类型3:mount unit,后缀 .mount,用来实现挂载文件系统到指定的挂载点 7 类型4:socket unit,后缀.socket,用来表示进程间通信的socket文件 8 类型5:snapshot nuit:快照unit,后缀.snapshot, 用来管理快照 9 类型6:target unit:目标unit,后缀是 .target,模拟centos5、6上的运行级别(主要是为了向后兼容) 10 类型7:swap unit 11 类型8:path unit
5.systemd的特性
1 特性1. 基于socket的激活机制 2 在启动系统的时候,systemd会将所有要启动的服务都标记已经启动,标记的方式就是将所有要启动的服务的套接字都监听起来,但是是由systemd自己来监听,而不是让具体的服务自己来监听,这样就解决了进程之间的依赖关系。 3 当某个套接第一次被用户的访问的时候,systemd会立刻启动这个套接字所对应的进程,然后将这个套接字和这个启动的服务做绑定 4 特性2:基于bus机制激活 5 特性3:基于device机制激活 6 特性4:基于path机制激活 7 可以让systemd监控某个某个目录,当目录中的文件发生更改的时候,立刻激活某个服务 8 特性5:支持快照机制 9 特性6:支持域兼容sysV风格的服务管理脚本
6systemctl使用举例
1.查看激活的服务

