文章目录
一 . systemd进程
1. 概念
在centos7中的第一个进程为systemd
启动流程
POST --> Boot Sequence --> Bootloader --> kernel + initramfs(initrd) --> rootfs --> /sbin/init
init: CentOS 5 SysV init
CentOS 6 Upstart
CentOS 7 Systemd
Systemd:系统启动和服务器守护进程管理器,负责在系统启动或运行时,激
活系统资源,服务器进程和其它进程
Systemd新特性
系统引导时实现服务并行启动
按需启动守护进程
自动化的服务依赖关系管理 (例如:centos6中nfs服务依赖于rpcbind,centos7中启动nfs或者rpcbind两个服务都会启动)
同时采用socket式与D-Bus总线式激活服务(例如telnet服务启动telnet.socket)
系统状态快照
并行启动----比centos6块
核心概念:unit
unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主包含了系统服务、监听socket、保存的系统快照以及其它与init相关的信息
配置文件
/usr/lib/systemd/system/
:每个服务最主要的启动脚本设置,类似于之前的/etc/init.d/
服务脚本(优先级最低)
相当于不用写服务脚本,写service文件–代替服务脚本
/run/systemd/system
:系统执行过程中所产生的服务脚本,比上面目录优先运行(优先级第二)
/etc/systemd/system
:管理员建立的执行脚本,类似于/etc/rcN.d/Sxx
软连接的功能,比上面目录优先运行(优先级最高)
2.Unit类型
systemctl –t help
查看unit类型
service unit: 文件扩展名为.service, 用于定义系统服务
Target unit: 文件扩展名为.target,用于模拟实现**运行级别**
Device unit: .device, 用于定义内核识别的设备
Mount unit: .mount, 定义文件系统挂载点
Socket unit: .socket, 用于标识进程间通信用的socket文件,也可在系统启动时,延迟启动服务,实现按需启动
Snapshot unit: .snapshot, 管理系统快照
Swap unit: .swap, 用于标识swap设备
Automount unit: .automount,文件系统的自动挂载点
Path unit: .path,用于定义文件系统中的一个文件或目录使用,常用于当文件系统变化时,延迟激活服务,如:spool 目录
3. 特性
关键特性:
基于socket的激活机制:socket与服务程序分离
基于d-bus的激活机制:
基于device的激活机制:
基于path的激活机制:
系统快照:保存各unit的当前状态信息于持久存储设备中
兼容sysv init脚本
不兼容:
systemctl命令固定不变,不可扩展,在/usr/bin/systemctl
中 不可更改
只能用这些现成的命令(不可扩展)
在centos6中可以更改/etc/init.d/
非由systemd启动的服务,systemctl无法与之通信和控制
二 .systemctl管理服务
systemctl命令将服务参数放在最后面(支持一次性对多个服务进行操作)
管理系统服务:
CentOS 7: service unit
注意:能兼容早期的服务脚本
1.命令
systemctl COMMAND name.service
启动:service name start ==> systemctl start name.service
停止:service name stop ==> systemctl stop name.service
重启:service name restart ==> systemctl