/etc/rc.d/rc与/etc/rc.d/init.d的关系介绍

2024-05-07 10:38
文章标签 init 介绍 关系 etc rc

本文主要是介绍/etc/rc.d/rc与/etc/rc.d/init.d的关系介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里先解释一下 /etc/rc.d/init.d 里面放的都是什么东西。这个目录存放的是一些脚本,一般是Linux以rpm包安装时设定的一些服务的启动/关闭脚本。系统在安装时装了好多rpm包,这里面就有很多对应的脚本。执行这些脚本可以用来启动、停止、重启这些服务
前面说到,/etc/rc.d/init.d这个目录下的脚本就类似与windows中的注册表,在系统启动的时候执行。程序运行到这里(init进程读取了运行级别),相信从命名的角度大家也能猜到该运行/etc/rc.d/init.d里面的脚本了,不然它为什么也叫init(.d)呢是吧。没错,是该运行init.d里的脚本了,但是并不是直接运行,而是有选择的,因为系统并不需要启动所有的服务。 


复制代码
代码如下:

[jianbao@localhost rc.d]$ pwd 
/etc/rc.d 
[jianbao@localhost rc.d]$ ll 
drwxr-xr-x. 2 root root 4096 5月 2 14:53 init.d 
-rwxr-xr-x. 1 root root 2617 6月 23 2012 rc 
drwxr-xr-x. 2 root root 4096 5月 2 14:53 rc0.d 
drwxr-xr-x. 2 root root 4096 5月 2 14:53 rc1.d 
drwxr-xr-x. 2 root root 4096 5月 2 14:53 rc2.d 
drwxr-xr-x. 2 root root 4096 5月 2 15:35 rc3.d 
drwxr-xr-x. 2 root root 4096 5月 2 14:53 rc4.d 
drwxr-xr-x. 2 root root 4096 5月 2 14:53 rc5.d 
drwxr-xr-x. 2 root root 4096 5月 2 14:53 rc6.d 
-rwxr-xr-x. 1 root root 220 6月 23 2012 rc.local 
-rwxr-xr-x. 1 root root 19370 6月 23 2012 rc.sysinit 
[jianbao@localhost rc.d]$ 


那么,系统是如何选择哪些需要启动哪些不要呢?这时刚才说的运行级别就起作用了。 
在决定了系统启动的run level之后,先执行 /etc/rc.d/rc 这个脚本。在CentOS6.X的源码中它都是一上来就check_runlevel(),知道了运行级别之后,对于每一个运行级别,在rc.d下都有一个子目录分别是rc0.d,rc1.d ….. rc6.d。每个目录下都是到init.d目录的一部分脚本的一些链接。每个级别要执行哪些服务就在相对应的目录下,比如级别5要启动的服务就都放在 rc5.d下,但是放在这个rc5.d下的都是一些链接文件,链接到init.d中相对应的文件,真正干活的是init.d里的脚本。 


复制代码
代码如下:

[jianbao@localhost rc5.d]$ pwd 
/etc/rc.d/rc5.d 
[jianbao@localhost rc5.d]$ ll 
lrwxrwxrwx. 1 root root 16 4月 11 14:52 K01smartd -> ../init.d/smartd 
lrwxrwxrwx. 1 root root 17 4月 11 14:40 K02oddjobd -> ../init.d/oddjobd 
lrwxrwxrwx. 1 root root 17 4月 11 14:52 K05wdaemon -> ../init.d/wdaemon 
lrwxrwxrwx. 1 root root 16 4月 11 14:52 K10psacct -> ../init.d/psacct 
lrwxrwxrwx. 1 root root 19 4月 11 14:40 K10saslauthd -> ../init.d/saslauthd 
lrwxrwxrwx. 1 root root 15 4月 11 14:40 K15httpd -> ../init.d/httpd 
lrwxrwxrwx. 1 root root 13 4月 11 14:44 K60nfs -> ../init.d/nfs 
lrwxrwxrwx. 1 root root 20 4月 11 14:44 K69rpcsvcgssd -> ../init.d/rpcsvcgssd 
lrwxrwxrwx. 1 root root 16 4月 11 14:55 K73ypbind -> ../init.d/ypbind 
lrwxrwxrwx. 1 root root 14 4月 11 15:11 K74ntpd -> ../init.d/ntpd 
lrwxrwxrwx. 1 root root 17 4月 11 14:40 K75ntpdate -> ../init.d/ntpdate 
lrwxrwxrwx. 1 root root 24 4月 11 14:40 S23NetworkManager -> ../init.d/NetworkManager 
lrwxrwxrwx. 1 root root 21 4月 11 16:27 S30vboxadd-x11 -> ../init.d/vboxadd-x11 
lrwxrwxrwx. 1 root root 25 4月 11 16:27 S35vboxadd-service -> ../init.d/vboxadd-service 
lrwxrwxrwx. 1 root root 19 4月 11 14:49 S50bluetooth -> ../init.d/bluetooth 
lrwxrwxrwx. 1 root root 14 4月 11 14:52 S55sshd -> ../init.d/sshd 
lrwxrwxrwx. 1 root root 13 4月 11 14:39 S95atd -> ../init.d/atd 
lrwxrwxrwx. 1 root root 15 5月 2 14:53 S95jexec -> ../init.d/jexec 
lrwxrwxrwx. 1 root root 20 4月 11 14:40 S99certmonger -> ../init.d/certmonger 
lrwxrwxrwx. 1 root root 11 4月 11 14:39 S99local -> ../rc.local 
[jianbao@localhost rc5.d]$ 


到这里,估计大家可能都比较清楚了,我开始也以为是这样的。可是后来我仔细看过和比较这些链接文件和init.d里真正被执行的脚本的文件名之后,一直有几个问题没弄明白。借着写这个文章的机会,我做了一些功课,总算是大概解开了那些疑惑。 

1、这些链接文件前面为什么会带一个Kxx或者Sxx呢? 
是这样的,带K的表示停止(Kill)一个服务,S表示开启(Start)的意思 

2、K和S后面带的数字呢?干什么用的? 
这个我开始的时候还以为是排列起来好看或者数数用呢(是不是很幼稚?)。后来发现不是的。它的作用是用来排序,就是决定这些脚本执行的顺序,数值小的先执行,数值大的后执行。很多时候这些执行顺序是很重要的,比如要启动Apache服务,就必须先配置网络接口,不然一个没有IP的机子来启动http服务那岂不是很搞笑。。。 

3、无意中我发现同一个服务带S的和带K的链接到init.d之后是同一个脚本。我就纳闷了,为什么会是执行同一个脚本呢? 
这个时候真是S和K的妙用了,原来S和K并不止是用来看起来分的清楚而已。S给和K还分别给init.d下面的脚本传递了start和stop的参数。哦,是这样的(焕然大悟的样子,呵呵)!这时我才想起来原来曾经无数用过的/etc/rc.d/init.d/network restart命令。原来传S时相当于执行了/etc/rc.d/init.d/xxx start这条命令,当然K就相当于/etc/rc.d/init.d/xxx stop了。 

补充:也可以修改rc.local达到自启动的目的,但是rc.local是最后执行的自启动配置文件。



来源:http://www.jb51.net/LINUXjishu/86332.html

这篇关于/etc/rc.d/rc与/etc/rc.d/init.d的关系介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967122

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

Mysql BLOB类型介绍

BLOB类型的字段用于存储二进制数据 在MySQL中,BLOB类型,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一区别是在存储的大小不同。 TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

nginx介绍及常用功能

什么是nginx nginx跟Apache一样,是一个web服务器(网站服务器),通过HTTP协议提供各种网络服务。 Apache:重量级的,不支持高并发的服务器。在Apache上运行数以万计的并发访问,会导致服务器消耗大量内存。操作系统对其进行进程或线程间的切换也消耗了大量的CPU资源,导致HTTP请求的平均响应速度降低。这些都决定了Apache不可能成为高性能WEB服务器  nginx: