systemd、upstart和system V

System V信号量 1. 信号量概述 System V信号量又被称为System V信号量集,信号量的作用和消息队列不太一样,消息队列的作用是进程之间传递消息。而信号量的作用是为了同步多个进程的操作。 一般来说,信号量和某种预先定义的资源相关联的。信号量元素的值,表示与之关联的资源个数。内核会负责维护信号量的值,并确保其值不小于0。 使用最广泛的信号量是二值信号量。对于这种信号量而言,它只有两种合法值:0和1,对应一... 阅读详情

 systemd是Linux下的一种init软件,由Lennart Poettering(英语:Lennart Poettering)带头开发并在LGPL 2.1及后续版本许可证下开源发布。其开发目标是提供更优秀的框架以表示系统服务(英语:Service (systems architecture))间的依赖关系,并以此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销(英语:Computational overhead)的效果,最终代替现在常用的System V与BSD风格init程序。systemd 是 Linux 下一个与 SysV 和 LSB 初始化脚本兼容的系统和服务管理器。systemd 使用 socket 和 D-Bus 来开启服务,提供基于守护进程的按需启动策略,保留了 Linux cgroups 的进程追踪功能,支持快照和系统状态恢复,维护挂载和自挂载点,实现了各服务间基于从属关系的一个更为精细的逻辑控制,拥有前卫的并行性能。systemd 无需经过任何修改便可以替代 sysvinit 。systemd已纳入众多Linux发行版的软件源中,Fedora 15及后续版本都采用的systemd作为Linux下的默认init程序。(在 Fedora 14 的特性中,systemd 是作为一个技术预览。在 Fedora 15 中替代 Upstart 作为默认管理器,具体可参见fedora官方文档说明点击打开链接 )


SysVinit守护进程(sysvinit软件包)是一个基于运行级别的系统,它使用运行级别(单用户、多用户以及其他更多级别)和链接(位于/etc /rc?.d目录中,分别链接到/etc/init.d中的init脚本)来启动和关闭系统服务。Upstart init守护进程(upstart软件包)则是基于事件的系统,它使用事件来启动和关闭系统服务。


以下是两种服务管理的却别和对应的命令.

任务指令新指令
使某服务自动启动chkconfig –level 3 sshd onsystemctl enable sshd.service
使某服务不自动启动chkconfig –level 3 sshd offsystemctl disable sshd.service
检查服务状态service sshd statussystemctl status sshd.service (服务详细信息) systemctl is-active sshd.service (仅显示是否 Active)
显示所有已启动的服务chkconfig –listsystemctl list-units –type=service
启动某服务service sshd startsystemctl start sshd.service
停止某服务service sshd stopsystemctl stop sshd.service
重启某服务service sshd restartsystemctl restart sshd.service

<表参考自http://www.talaland.com/systemd-service-configuration/>


RHEL6 使用新的Upstart启动服务替换先前的System V init,Upstart是事件驱动型的,因此,它只包含按需启动的脚本,这将使启动过程变得更加迅速。经过良好调优并使用Upstart启动方式的Linux服务器的启动速度要明显快于原有的使用System V init的系统。 RHEL 6对启动过程的改变相对较少,兼容SysV,所以依然可以处理那些在目录/etc/init.d中包含服务脚本的服务,runlevel的概念也是存在于RHEL6中的<fedora因为使用的是systemd,所以基本上runlevel的概念也就不存在了>。


RHEL6下的相关改变:

/etc/inittab 只用来配置系统默认运行级别,所有先前由/etc/inittab来设定的条目,现在都在/etc/init/目录中以单个文件的形式存在。
/etc/init/rcS.conf 通过启动大部分的基本服务来对系统进行初始化的设定
/etc/init/rc.conf 对启动各自的运行级别(runlevel)的设定
/etc/init/control-alt-delete.conf 定义当用户按“control-alt-delete”三个键时的系统行为
/etc/init/tty.conf、/etc/init/serial.conf 定义系统处理终端登录
/etc/sysconfig/init 中ACTIVE_CONSOLES决定了虚拟控制台的创建,AUTOSWAP是否自动检测交换分区,单用户模式下的root使用的SHELL,默认为/sbin/sushell,另外/sbin/sulogin会在单用户模式启动之前弹出登录提示。





Linux init 命令 Linux init命令简介 init是Linux系统的首个用户级进程(PID=1),负责启动和管理其他进程。它通过运行级别(0-6)控制系统状态,如关机(0)、单用户维护(1)、多用户模式(3)或图形界面(5)。 基本用法 who -r 查看当前运行级别 init 3 切换至命令行模式 init 0 关机 注意 需root权限,谨慎操作(如直接关机可能导致数据丢失)。 现代系统多用systemd(如systemctl isolate multi-user.target等效init 3)。 实践建议 尝试切 阅读详情

相关推荐

13、深入解析 systemd 辅助程序与 Upstart 初始化系统

本文深入解析了 systemd 辅助程序与 Upstart 初始化系统的功能和工作机制。首先介绍了 systemd 在 /lib/systemd 目录下的各类支持程序及其作用,接着详细讲解了 Upstart 的核心概念,包括作业和事件的工作原理、初始化流程、作业类型、配置方法以及日志管理。通过具体的配置文件示例和操作命令,帮助读者全面了解 Upstart 的启动过程和系统服务管理方式。此外,还探讨了 Upstart 与 System V 的兼容性处理及运行级别管理。适合系统管理员和 Linux 爱好者深入学

yhn456789的博客 67

系统启动方式:SysV / UpStart / Systemd 的区分

系统启动方式:SysV / UpStart / Systemd 的区分

ken2232的博客 2955

13、系统初始化管理:systemd 辅助程序与 Upstart 详解

本文详细介绍了 Linux 系统中两种重要的初始化管理系统:systemd 和 Upstart。重点解析了 systemd 的辅助程序及其作用,以及 Upstart 的作业与事件机制、作业类型、状态转换、配置方式、进程监控和日志管理等内容。同时探讨了 Upstart 与传统 System V init 的兼容性实现。通过本文,读者可以深入了解系统启动过程,掌握使用 Upstart 管理服务和事件的方法,并提升系统维护与管理能力。

docker7nomad的博客 103

linux服务初步学习

stop);;restart);;status);;*)exit 1;;

libing__123的博客 1420

11、Linux系统引导与用户空间初始化全解析

本文详细解析了Linux系统引导与用户空间初始化的全过程,包括GRUB在BIOS和UEFI模式下的安装方法,UEFI安全引导问题的解决方案,以及GRUB链式加载其他操作系统的过程。同时,深入探讨了Linux用户空间初始化的核心内容,比较了System V init、systemd和Upstart三种init实现的优缺点,并提供了systemd的安装与配置实践指南。通过本文,读者可以全面掌握Linux系统启动过程的关键技术与最佳实践。

yhn456789的博客 64

Linux系统后台服务管理全攻略

Linux作为开源世界的代表,其后台服务的管理是系统稳定运行的基石。本章将对Linux后台服务进行概述,为读者铺垫后续深入探讨的基础。System V init定义了一系列运行级别(runlevels),用不同的数字来表示不同的系统状态。典型的运行级别包括单用户模式、多用户模式(无网络服务)、多用户模式(有网络服务)等。运行级别的切换可以通过telinit命令来完成。例如,telinit 3命令会切换到多用户模式。

weixin_35006125的博客 698

linux system v服务器,systemd、upstart和system V

systemd是Linux下的一种init软件,由Lennart Poettering(英语:Lennart Poettering)带头开发并在LGPL 2.1及后续版本许可证下开源发布。其开发目标是提供更优秀的框架以表示系统服务(英语:Service (systems architecture))间的依赖关系,并以此实现系统初始化时服务的并行启动,同时达到降低Shell的系统开销(英语:Comp...

weixin_31210347的博客 432

Linux系统服务配置与管理技巧指南

本文还有配套的精品资源,点击获取 简介:本文深入探讨Linux系统中的服务管理,包括服务的启动、停止、监控及故障排查等关键操作。介绍了多种服务管理工具,例如init、System V Init、Upstart和Systemd,并详细阐述了Systemd服务单元的管理、服务配置、状态监控、自启动设置、故障排查和安全策略等。掌握这些技能对于确保Linux系统的稳定性和性能至关重...

weixin_28895791的博客 1605

Linux之基本系统(四)

基本系统 目录结构 / 根目录 │ ├boot/ 启动文件。所有与系统启动有关的文件都保存在这里 │ └grub/ Grub 引导器相关的文件 │ ├dev/ 设备文件 ├proc/ 内核与进程镜像 │ ├mnt/ 临时挂载 ├media/ 挂载媒体设备 │ ├root/ root用户 的 $HOME 目录 ├home/

gjpzl的博客 172

C#开发者必备:VSPD虚拟串口快速配置指南(附汉化教程)

本文为C#开发者提供了VSPD虚拟串口的快速配置与汉化教程。详细介绍了如何安装、汉化VSPD,并创建稳定的虚拟串口对,重点讲解了如何将其集成到C#开发工作流中,使用SerialPort类进行数据通信测试、协议模拟及故障排查,有效提升硬件通信开发的效率。

weixin_29224529的博客 258

C语言实验——各位数字之和排序

C语言实验——各位数字之和排序Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description给定n个正整数,根据各位数字之和从小到大进行排序。 Input输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面...

aiLMengi000的博客 1241

LWN:systemd的14年!

关注了就能看到更多这么棒的文章哦~14 years of systemdBy Joe BrockmeierFebruary 17, 2025FOSDEMGemini-1.5-flash translationhttps://lwn.net/Articles/1008721/通常,项目会使用一些里程碑来回顾其取得的成就,例如首次发布或首次提交的周年纪念日。这些纪念日通常以五年或十年为间隔来庆祝,例如...

Linux News搬运工 1086

【SEED Labs 2.0】V*N Tunneling Lab

本文为 SEED Labs 2.0 - V*N Tunneling Lab 的实验记录。本实验工作量较大,但难度不大,重点在于搞清是谁发给谁,走的什么路径。另外,本次实验由于网络中的设备较多,修改了环境变量方便分清哪个窗口是哪个设备。这样操作起来就方便多了。...

Chenyang的博客 6975

Linux 五大初始化系统

在 Linux 和其他类 Uniux 系统中,init(初始化)进程是系统启动时由内核执行的第一个进程,其进程 ID(PID)为 1,并静默运行在后台,直到系统关闭。

Linux运维的博客 1212

当我们谈论Unidbg时我们在谈什么

文章目录一、前言二、使用Unidbg的工作量是什么三、补环境补的是什么3.1 运行环境缺失3.2 上下文缺失四、Unidbg 不是所有情况下最优的解决方案五、Unidbg在大多数情况下是好的方案六、Unidbg和风控无关七、尾声 一、前言 这是一篇漫谈Unidbg的文章,我对Unidbg的使用和理解都还很浅,日后会更新或修改看法,欢迎大佬指点,也期待同侪讨论。 二、使用Unidbg的工作量是什么 我们常规使用Frida + IDA的动静态分析中,工作可能是这样的 找线索→Frida Hook验证→验证成功继

lilac的博客 5788

innovus:InstPad、CellPad 、module padding、clock cell halo

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?site_num指的是padding的大小以site宽度为单位。

m0_61544122的博客 2020

linux不同发行版中的主要差异

重启网络服务的命令:sudo systemctl restart NetworkManager.service 或 sudo systemctl restart networking.service(取决于具体的服务名称)。重启网络服务的命令:sudo systemctl restart NetworkManager.service 或 sudo systemctl restart netcfg.service(取决于具体的服务名称)。

3165

Android USB串口通信详解与实例

在Android开发中,USB串口通信是一个常见的需求,尤其是在与硬件设备进行交互时。通过USB串口,我们可以轻松地实现数据的发送与接收。本文将详细介绍如何使用库来实现Android设备与USB串口设备的通信。

m0_62153576的博客 677

Linux启动全链路拆解:从内核到systemd,PID 1如何接管系统

操作系统启动是一段从硬件到软件层层交接的过程。理解Linux启动机制,关键在于厘清内核态与用户态的边界:固件加载引导程序,引导程序拉起内核,内核完成初始化后,必须将控制权交给第一个用户态进程——也就是PID 1,即Init进程。从System V Init的串行脚本,到Upstart的事件驱动,再到systemd的并行与按需启动,每一次演进都在解决“如何更快、更可靠地把系统带到可用状态”这一核心问题。对于运维、后端开发和嵌入式工程师来说,掌握这种底层原理,不仅能看懂开机流程,还能在服务启动失败、开机缓慢等故

weixin_33904756的博客 474

Python爬虫:抓取交通工具班次数据(公交、地铁等时刻表)

然而,由于这些信息并不总是以开放的API形式提供,因此爬虫技术成为了获取和分析这些数据的有效途径。然而,由于很多公交公司没有公开API,通常我们通过抓取其网页中的时刻表数据来获取信息。通过这些步骤,您可以轻松抓取交通工具的班次信息,并进行进一步的数据分析,辅助交通规划和出行推荐系统的建设。在这篇文章中,我们将演示如何使用Python爬虫技术抓取公交、地铁等交通工具的班次和时刻表数据。我们可以将公交和地铁的数据合并,进行综合分析。我们可以进一步分析地铁班次的发车频率,甚至可以比较不同地铁线路的班次。

2201_76125261的博客 954

WorkBuddy KiCad 实战:国产 AI 搭子不只会写代码,传感器板从零走到可审查

真正可用的 PCB 教程不能承诺“一键打样”。本课把 WorkBuddy 放在需求拆分、文件生成和审查记录的位置,KiCad 负责 ERC、DRC 与制造文件,工程师负责最终判断。 本课不会用“AI 一键完成”制造错觉,而是把 WorkBuddy、KiCad 8.0、Python 3.11 与人工审阅组成一条可复现链路。你会从“已确认的接口表、器件库来源、板框与电源方案”出发,得到“KiCad 工程、原理图、初始 BOM、ERC 报告与审查记录”,并学会用真实命令、错误信号和停止条件判断成果能不能进入下一阶

yueyeguzhuo的专栏 206

Spring Boot程序做成系统服务(windows、linux)(1)

在Linux下,我们可以选择使用传统的System V Init脚本或_Systemd_配置文件来配置守护程序。传统上,前者是最著名的选择,但后来逐渐被后者取代。您可以在找到有关此差异的更多详细信息。

2401_86401604的博客 407

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: 利用HERE Document携带C原代码
下一篇: fedora 17的root不能图形界面登陆
kumu_Linux
博客等级 码龄14年 68粉丝 94原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值