网站首页 > 技术文章 正文
随着公司业务的不断发展,各种学习机会也在不断增多。今天学习了Redhat7企业版,整理作成Systemd相关文章与大家共享。
何为Systemd
Systemd是linux下,进行启动处理,系统管理的一种init软件。Linux的启动处理
Linux的启动大致分为以下4个阶段进行。- 接通电源以后,启动BIOS。
- 从BIOS加载引导程序。
- 引导程序启动linux内核。
- Linux内核启动init程序(PID 1)
该init程序负责管理linux启动,之前使用的是Sysvinit,但近几年被以Ubuntu等采用的Upstart所取代。而且Fedora 15,CentOS 7,Red Hat Enterprise Linux 7采用的都是Systemd。
Systemd特征
1.不是一个shell脚本。Sysvinit的处理全部被写成shell脚本。因为与服务相关的动作被写在单一的脚本中进行处理,而不能进行细化。
Systemd的话,服务不是写成一个的脚本,而是作为配置文件,以Unit为单位进行管理。因此各项处理可进行细化,和单独有效地运行。而且还可以明确各个处理的依赖关系。甚至这些细化也可以并行运行。例如,像A处理后,由B和C并行处理这样的极其细致的设定也是可以实现的。
2.可灵活地执行进程的启动。
不仅是在linux系统启动时,而且也可以设置各种阀值启动进程。例如定时器,插座通信检测,文件系统挂载等。根据系统构成的变化也可以自动改变系统。例如,检测到新的磁盘设备时,就启动特定程序等。
3.非PID而是通过cgroup管理进程。
Sysvinit的话,服务是通过PID进行管理的。而Systemd则是通过cgroup进行管理的。若是PID的情况下,进程达到2次分歧,就直接断开父进程和子进程的关系。cgroup的话,即使发生多回分歧,也可以进行管理。
但是,cgroup是linux内核的功能。Linux以外是不能使用的,这也是Systemd的限制,只有在linux内核上才能运行。
4.Systemd的历史
Systemd是以Lennart Poettering和Kay Sievers为中心开发的。2010年3月发行最初的版本之后,搭载在2011年发行的Fedora 15上。
2012年发行的Red Hat Forum 2012,Red Hat Enterprise Linux 7都声明采用了Systemd。 而且,2014年12月发行的Centos7已从Sysvinit变更为systemd。
后话
现在,包括Fedora、CentOS、RedHat Enterprise Linux,openSUSE和SUSE Linux Enterprise Server、Oracle Linux、CoreOS、Arch Linux等将systemd作为默认的init系统。而且Debian下期版本8(jessie)也要采用Systemd,尽管有Systemd反对派的反对,但是Systemd已成为一种标准。
- 上一篇: 使用 Checkmk 监控 Oracle 服务器
- 下一篇:已经是最后一篇了
猜你喜欢
- 2025-08-01 使用 Checkmk 监控 Oracle 服务器
- 2025-08-01 核心库CPU飙到99%了!我发现很多DBA都不会看日志……
- 2025-08-01 China's CETC Kingbase Unveils AI-Powered Database Appliances Amid Rising Demand for Intelligent Data Infrastructure
- 2025-08-01 Docker安装部署Oracle/Sql Server
- 2025-08-01 Oracle数据库安装 | 步骤详细
- 2025-05-09 Linux 安装Oracle11.2.0.4 (静默安装法)
- 2025-05-09 Oracle 10g安装64位图解流程(Oracle 10g安装64位图解流程图怎么画)
- 2025-05-09 Centos7命令行安装Oracle11g(centos7安装oracle11g数据库)
- 2024-07-23 Centos离线静默安装 oracle11g,步骤细验证成功
- 2024-07-23 Oracle与MySql知识汇总(oracle和mysql语句一样吗)
- 08-01Linux Systemd入门
- 08-01使用 Checkmk 监控 Oracle 服务器
- 08-01核心库CPU飙到99%了!我发现很多DBA都不会看日志……
- 08-01China's CETC Kingbase Unveils AI-Powered Database Appliances Amid Rising Demand for Intelligent Data Infrastructure
- 08-01Docker安装部署Oracle/Sql Server
- 08-01Oracle数据库安装 | 步骤详细
- 08-01基于Springboot + vue实现的社团管理系统
- 08-01前端开发如何用Mock.js进行数据接口模拟
- 1520℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 623℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 526℃MySQL service启动脚本浅析(r12笔记第59天)
- 492℃启用MySQL查询缓存(mysql8.0查询缓存)
- 491℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 479℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 460℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 458℃MySQL server PID file could not be found!失败
- 最近发表
-
- Linux Systemd入门
- 使用 Checkmk 监控 Oracle 服务器
- 核心库CPU飙到99%了!我发现很多DBA都不会看日志……
- China's CETC Kingbase Unveils AI-Powered Database Appliances Amid Rising Demand for Intelligent Data Infrastructure
- Docker安装部署Oracle/Sql Server
- Oracle数据库安装 | 步骤详细
- 基于Springboot + vue实现的社团管理系统
- 前端开发如何用Mock.js进行数据接口模拟
- 使用vite为vue项目配置@别名
- 基于Springboot + vue3实现的教务管理系统
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- windowsscripthost (69)
- apt-getinstall-y (100)
- js~~ (67)
- node_modules怎么生成 (87)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)