【Linux】【Commands】systemd
1. 系统启动流程:
POST --> Boot Sequeue(BIOS) --> Bootloader(MBR) --> Kernel(ramdisk) --> rootfs --> /sbin/init
init:
CentOS 5: SysV init
CentOS 6:Upstart
CentOS 7:Systemd
2.
Systemd的新特性:
系统引导时实现服务并行启动;
按需激活进程;
系统状态快照;
基于依赖关系定义服务控制逻辑;
3.
核心概念:unit
unit由其相关配置文件进行标识、识别和配置;文件中主要包含了系统服务、监听的socket、保存的快照以及其它与init相关的信息; 这些配置文件主要保存在:
/usr/lib/systemd/system
/run/systemd/system
/etc/systemd/system
4.
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, 用于定义文件系统中的一文件或目录;
基于socket的激活机制:socket与程序分离;
基于bus的激活机制;
基于device的激活机制;
基于Path的激活机制;
系统快照:保存各unit的当前状态信息于持久存储设备中;
向后兼容sysv init脚本;
/etc/init.d/
不兼容:
systemctl的命令是固定不变的;
非由systemd启动的服务,systemctl无法与之通信;
6.
管理系统服务:
CentOS 7: service类型的unit文件;
7. syscemctl命令:
- Control the systemd system and service manager
systemctl [OPTIONS...] COMMAND [NAME...]
启动: service NAME start ==> systemctl start NAME.service
停止: service NAME stop ==> systemctl stop NAME.service
重启: service NAME restart ==> systemctl restart NAME.service
状态: service NAME status ==> systemctl status NAME.service
条件式重启:service NAME condrestart ==> systemctl try-restart NAME.service
重载或重启服务: systemctl reload-or-restart NAME.servcie
重载或条件式重启服务:systemctl reload-or-try-restart NAME.service
查看某服务当前激活与否的状态: systemctl is-active NAME.service
查看所有已激活的服务:systemctl list-units --type service
查看所有服务(已激活及未激活): chkconfig --lsit ==> systemctl list-units -t service --all
设置服务开机自启: chkconfig NAME on ==> systemctl enable NAME.service
禁止服务开机自启: chkconfig NAME off ==> systemctl disable NAME.service
查看某服务是否能开机自启: chkconfig --list NAME ==> systemctl is-enabled NAME.service
禁止某服务设定为开机自启: systemctl mask NAME.service
取消此禁止: systemctl unmask NAME.servcie
查看服务的依赖关系:systemctl list-dependencies NAME.service
8. 管理target units:
运行级别:
0 ==> runlevel0.target, poweroff.target
1 ==> runlevel1.target, rescue.target
2 ==> runlevel2.tartet, multi-user.target
3 ==> runlevel3.tartet, multi-user.target
4 ==> runlevel4.tartet, multi-user.target
5 ==> runlevel5.target, graphical.target
6 ==> runlevel6.target, reboot.target
级别切换: init N ==> systemctl isolate NAME.target
查看级别: runlevel ==> systemctl list-units --type target
查看所有级别: systemctl list-units -t target -a
获取默认运行级别:systemctl get-default
修改默认运行级别: systemctl set-default NAME.target
切换至紧急救援模式: systemctl rescue
切换至emergency模式: systemctl emergency
9.
其它常用命令:
关机: systemctl halt, systemctl poweroff
重启: systemctl reboot
挂起: systemctl suspend
快照: systemctl hibernate
快照并挂起: systemctl hybrid-sleep
10.
service unit file:
文件通常由三部分组成:
[Unit]:定义与Unit类型无关的通用选项;用于提供unit的描述信息、unit行为及依赖关系等;
[Service]:与特定类型相关的专用选项;此处为Service类型;
[Install]:定义由“systemctl enable”以及"systemctl disable“命令在实现服务启用或禁用时用到的一些选项;
Unit段的常用选项:
Description:描述信息; 意义性描述;
After:定义unit的启动次序;表示当前unit应该晚于哪些unit启动;其功能与Before相反;
Requies:依赖到的其它units;强依赖,被依赖的units无法激活时,当前unit即无法激活;
Wants:依赖到的其它units;弱依赖;
Conflicts:定义units间的冲突关系;
Service段的常用选项:
Type:用于定义影响ExecStart及相关参数的功能的unit进程启动类型;
类型:
simple:
forking:
oneshot:
dbus:
notify:
idle:
EnvironmentFile:环境配置文件;
ExecStart:指明启动unit要运行命令或脚本; ExecStartPre, ExecStartPost
ExecStop:指明停止unit要运行的命令或脚本;
Restart:
Install段的常用选项:
Alias:
RequiredBy:被哪些units所依赖;
WantedBy:被哪些units所依赖;
注意:对于新创建的unit文件或,修改了的unit文件,要通知systemd重载此配置文件;
# systemctl daemon-reload
练习:为当前系统的httpd服务提供一个unit文件;
【Linux】【Commands】systemd的更多相关文章
- 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握
内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...
- 【Linux探索之旅】第一部分第五课:Unity桌面,人生若只如初见
内容简介 1.第一部分第五课:Unity桌面,人生若只如初见 2.第一部分第六课预告:Linux如何安装在虚拟机中 Unity桌面,人生若只如初见 不容易啊,经过了前几课的学习,我们认识了Linux是 ...
- 两款【linux字符界面下】显示【菜单】,【选项】的powershell脚本模块介绍
两款[linux字符界面下]显示[菜单],[选项]的powershell脚本模块介绍 powershell linux ps1 menu choice Multiselect 传教士 菜单 powe ...
- 【Linux探索之旅】第二部分第五课:用户和权限,有权就任性
内容简单介绍 .第二部分第五课:用户和权限,有权就任性 2.第二部分第六课预告:Nano,刚開始学习的人的文本编辑器 用户和权限.有权就任性 今天的标题也挺任性的啊,虽说小编是一个非常本分的人(真的吗 ...
- 【LINUX/UNIX网络编程】之简单多线程服务器(多人群聊系统)
RT,Linux下使用c实现的多线程服务器.这个真是简单的不能再简单的了,有写的不好的地方,还希望大神轻拍.(>﹏<) 本学期Linux.unix网络编程的第四个作业. 先上实验要求: [ ...
- 【LINUX/UNIX网络编程】之使用消息队列,信号量和命名管道实现的多进程服务器(多人群聊系统)
RT,使用消息队列,信号量和命名管道实现的多人群聊系统. 本学期Linux.unix网络编程的第三个作业. 先上实验要求: 实验三 多进程服务器 [实验目的] 1.熟练掌握进程的创建与终止方法: 2 ...
- 【Linux/unix网络编程】之使用socket进行TCP编程
实验一 TCP数据发送与接收 [实验目的] 1.熟练掌握套接字函数的使用方法. 2.应用套接字函数完成基本TCP通讯,实现服务器与客户端的信息交互. [实验学时] 4学时 [实验内容] 实现一个服务器 ...
- 【Linux探索之旅】第一部分第二课:下载Linux,免费的噢
内容简介 1.第一部分第二课:下载Linux,免费的噢 2.第一部分第三课预告:测试并安装Ubuntu 下载Linux,免费的噢 大家好,上一课我们认识了非常“霸气侧漏”的Linux操作系统. 也知道 ...
- 【Linux探索之旅】第一部分第三课:测试并安装Ubuntu
内容简介 1.第一部分第三课:测试并安装Ubuntu 2.第一部分第四课预告:磁盘分区 测试并安装Ubuntu 大家好,经过前两个比较偏理论(是否想起了带着瓜皮帽,手拿折扇的老学究,或者腐儒)的课程, ...
- 【Linux探索之旅】开宗明义+第一部分第一课:什么是Linux?
内容简介 1.课程大纲 2.第一部分第一课:什么是Linux? 3.第一部分第二课预告:下载Linux,免费的噢! 开宗明义 我们总听到别人说:Linux挺复杂的,是给那些追求逼格的程序员用的.咱 ...
随机推荐
- Linux环境下安装、配置Redis
linux下安装redis 官网下载链接:https://redis.io/download 安装 下载redis压缩包 1.选择Stable(5.0)下的Download 5.0.0 链接进行下载 ...
- dart系列之:在dart中使用packages
目录 简介 pubspec.yaml get packages 使用packages 升级依赖 总结 简介 java中使用jar包来封装有用的功能,然后将其分发到maven仓库中,供其他人使用.同样的 ...
- python实现色彩空间转换
目录: (一)调用转换函数实现图像色彩空间转换------ cv2.cvtColor函数 (二)色彩空间转换,利用inrange函数过滤视频中的颜色,实现跟踪某一颜色 正文: (一)调用转换函数实现图 ...
- [cf1392I]Kevin and Grid
令$v$为点数(有公共点的格子中存在红/蓝色).$e$为边数(有公共边的格子中存在红/蓝色).$f$为以此法(即仅考虑这些点和边)所分割出的区域数(包括外面).$s$为连通块个数,将欧拉定理简单扩展, ...
- .NET E F(Entity Framework)框架 DataBase First 和 Code First 简单用法。
EF是微软.NET平台官方的ORM(objet-relation mapping),就是一种对象-关系 映射,是将关系数据库种的业务数据用对象的形式表现出来,并通过面向对象的方式讲这些对象组织起来,实 ...
- 洛谷 P3580 - [POI2014]ZAL-Freight(单调队列优化 dp)
洛谷题面传送门 考虑一个平凡的 DP:我们设 \(dp_i\) 表示前 \(i\) 辆车一来一回所需的最小时间. 注意到我们每次肯定会让某一段连续的火车一趟过去又一趟回来,故转移可以枚举上一段结束位置 ...
- [Codeforces Global Round 14]
打挺差的. 不过\(C,D\)一眼秒了,大概是对这几个月努力的一个结果? \(B\)玄学错误挂了两发. 脑子痛然后打到一半就去睡觉了. -------------------------------- ...
- 洛谷 P3711 - 仓鼠的数学题(多项式)
洛谷题面传送门 提供一种不太一样的做法. 假设要求的多项式为 \(f(x)\).我们考察 \(f(x)-f(x-1)\),不难发现其等于 \(\sum\limits_{i=0}^na_ix^i\) 考 ...
- 【GS基础】植物基因组选择研究人员及数量遗传学发展一览
目录 1.GS研究 2.数量遗传发展 GS应用主要在国外大型动物和种企,国内仍以学术为主.近期整理相关学术文献,了解到一些相关研究人员,记录下备忘查询,但不可能全面. 1.GS研究 Theo Meuw ...
- adblock plus-看下图你就懂