参考
 
 
控制脚本目录/etc/rc.d,该目录下存在各个运行级别的脚本文件,以下是rhel-server-6.3为例的查询结果:
需要注意,在不同的linux版本中,这些目录并不完全相同,知道原理就好
 
[root@localhost etc]# cd /etc/rc.d
[root@localhost rc.d]# ls
init.d  rc  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  rc.local  rc.sysinit
[root@localhost rc.d]# cd rc0.d
[root@localhost rc0.d]# ls -l
总用量 0
lrwxrwxrwx. 1 root root 20 9月   7 19:53 K01certmonger -> ../init.d/certmonger
lrwxrwxrwx. 1 root root 16 9月   7 19:59 K01smartd -> ../init.d/smartd
lrwxrwxrwx. 1 root root 22 9月   7 19:53 K02avahi-daemon -> ../init.d/avahi-daemon
 
 
/etc/rc.d/rc0.d~/etc/rc.d/rc6.d
这些文件夹分别包含每个运行等级对应的init脚本。在实际使用中,它们一般通过符号链接到/etc/init.d文件夹下的实际文件。不过要注意的是,这些文件夹下的init脚本都有一些特别的名字,命名都以S(start)、K(kill)或D(disable)开头, 后面跟一个数字。不同的运行等级所运行的脚本是不同的,可能在等级1,2是运行的,而在等级3是要关闭的
 
a. 当init进入一个运行等级的时候,它会按照数字顺序运行所有以K开头的脚本并传入stop参数,除非对应的init脚本在前一个运行等级中没有启动。
b. 然后init按照数字顺序运行所有以S开头的脚本并传入start参数。
c. 任何以D开头的init脚本都会被忽略—这让你可以在指定的运行等级禁止一个脚本,或者你也可以仅仅移除全部符号链接。
所以如果你有两个脚本,S01foo和S05bar,init首先会运行S01foo start,当它进入特定的运行等级后再执行S05bar start。
 
传S时相当于执行了/etc/rc.d/init.d/xxx start这条命令,当然K就相当于/etc/rc.d/init.d/xxx stop了。
 
以rc0.d目录下的配置文件为例,rc0.d调用了/etc/rc.d/init.d目录下的程序。
 
/etc/rc.d/init.d
各种服务器和程序的二进制文件存放目录。
该文件夹包含所有服务在各个运行等级中的全部启动脚本。一般来说,它们都是标准的shell脚本,遵守最基本的标准。 每个脚本最少接受两个参数start和stop,
 
/etc/rc.d/rc.local
并非所有的发行版都使用了rc.local,通常它是一个留给用户修改的shell脚本。一般会在init进程结束的时候运行它,所以你可以在这里放一些想要运行的额外脚本,而不用再创建自己的init脚本。
 
除了直接调用脚本外(如/etc/rc.d/init.d/xinetd),还可以用service命令来控制init.d目录下的服务,
 
 
 
redhat的系统启动方式和执行次序是:
1)加载内核
2)执行init程序
3)/etc/rc.d/rc.sysinit                    # 由init执行的第一个脚本
4)/etc/rc.d/rc $RUNLEVEL           # $RUNLEVEL为缺省的运行模式
5)/etc/rc.d/rc.local
6)/sbin/mingetty # 等待用户登录

linux中rc.d目录下的文件的更多相关文章

  1. Linux查找和替换目录下所有文件中字符串(转载)

    转自:http://rubyer.me/blog/1613/ 单个文件中查找替换很简单,就不说了.文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结. 查找文件夹 ...

  2. [Java] 在 jar 文件中读取 resources 目录下的文件

    注意两点: 1. 将资源目录添加到 build path,确保该目录下的文件被拷贝到 jar 文件中. 2. jar 内部的东西,可以当作 stream 来读取,但不应该当作 file 来读取. 例子 ...

  3. C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)

    //遍历一个目录下所有的文件列表,代码实例 DirectoryInfo dir = new DirectoryInfo(folderName);var list = GetAll(dir); /// ...

  4. linux 如何统计某目录下所有文件个数

    该目录以及该目录的子目录下普通文件个数: ls -lR |grep '^-' |wc -l ls -l 查询该目录下的所有文件 R 包含子目录,其实就是递归查看 grep '^-' 表示过滤掉(以&q ...

  5. linux拷贝多个目录下的文件到同一个目录

    拷贝a目录下的a.txt和b目录下的b.txt到c目录 cp -a \ /root/a/a.txt \ /root/b/b.txt \ /root/c/

  6. linux中在某个目录下多个文件中搜索关键字

    有四种方法: find 文件目录 -name '*.*' -exec grep 'xxx' {} + -n 或是 find 文件目录 -name '*.*' | xargs grep 'xxx' -n ...

  7. WEB编程中获取src目录下的文件(没有src目录)

    这种情况遇见的会比较多,像一个WEB工程,如果在src下面写了一个xml或者一些其它的文件,当工程发布到服务器时,web程序是在tomcat等服务器下运行这个程序的,这个时候,程序目录里面并没有src ...

  8. java项目中读取src目录下的文件

    private void getUser(String tmpfile){ Properties props = new Properties(); props.load(DbTask.class.g ...

  9. Linux批量修改指定目录下的文件或文件夹权限

    在Puppet下很头大,尤其是文件拷贝,使用file的mode会导致文件或文件夹都一个权限. 暂时使用命令代替: 最近忙着明年的N多计划,待有空后继续研究.

随机推荐

  1. js小例子之二级联动

    联动原理 当用户点击省级的下拉选项,选择所在省,下一个下拉选项里的选项,则变成用户选择省下的所有市的信息,不会出现其它省市的信息. 省市数据 把省市数据,保存在js文件中,以json形式保存,以便读取 ...

  2. canvas动画--demo

    canvas动画:bubble

  3. ubuntu17.10 安装CUDA

    1. 更新apt-get源列表 sudo apt-get update sudo apt-get upgrade 2. 添加驱动源 sudo add-apt-repository ppa:graphi ...

  4. MongoDB中使用的SCRAM-SHA1认证机制

    摘要: 介绍 SCRAM是密码学中的一种认证机制,全称Salted Challenge Response Authentication Mechanism. SCRAM适用于使用基于『用户名:密码』这 ...

  5. 如何规范移动应用交互设计?UI/UX设计师须知的11个小技巧

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 十年前,手机的使用只是为了沟通. 而近几年,情况发生了很大变化,我们很难找到不使用手机的人.手机在极 ...

  6. Java程序设计——对象序列化

    对象序列化的目标是将对象保存到磁盘中或允许在网络中直接传输对象,对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久保存在磁盘上,通过网络将这种二进制流传输到另 ...

  7. JVM 垃圾回收- 转载 知识碎片

    最近关注了一下垃圾回收的问题,想了解一下JVM 关于方法区的垃圾回收机制,找了几篇文章,不同的文章从不同角度讲述了一下,嗯... 拼凑起来 记录一下, 有些未验证正确性... JVM 方法区 当JVM ...

  8. mybatis小工具

    1.其实也不算是针对mybatis的其他都可以用 lombok 2.mybatis的小插件,可以快速定位到mapper.xml和接口之间 mybatisx

  9. CSS中float和Clear的使用

    CSS中float和Clear的使用 本文和大家重点讨论一下CSS中Float和Clear属性的使用,一个float对象可以居左或居右,一个设置为float的对象,将根据设置的方向,左移或右移到其父容 ...

  10. Spring3.x错误----java.lang.ClassNotFoundException:org.aopalliance.inter.MethodInterceptor

    Spring3.x错误: 解决方法: 发现MethodInterceptor确实不存在,发现少了个jar包,aopalliance-1.0.jar 参考: http://blog.csdn.net/s ...