Linux 目录之 /etc/init.d/ 介绍

文章目录

  • 一、关于目录 /etc/init.d/
  • 二、关于目录 /etc/rc.d/init.d/
  • 三、关于文件 /etc/rc.local
  • 四、/etc/init.d/ 和 service 文件
  • 五、关于命令 service
  • 六、关于文件 /etc/inittab
  • 七、关于目录 /etc/init/

注意:以 System V init 或者 Upstart 为初始化系统的 Linux 讨论目录 /etc/init.d/ 才有意义。

一、关于目录 /etc/init.d/

/etc/init.d/ 这个目录到底是干嘛的呢?

目录 /etc/init.d/ 中包含许多系统服务的启动和停止脚本。它控制着所有从 acpid 到 x11-common 的各种事务。当然,/etc/init.d/ 远远没有这么简单。
(译者注:acpid 是 Linux 操作系统新型电源管理标准 ;X11 也叫做 X Window 系统,X Window 系统 (X11 或 X)是一种位图显示的视窗系统。它是在 Unix 和类 Unix 操作系统以及 OpenVMS 上建立图形用户界面的标准工具包和协议,并可用于几乎已有的现代操作系统)。

当你查看 /etc 目录时,你会发现许多 rc#.d 形式存在的目录(这里#代表一个指定的初始化级别,范围是0~6)。在这些目录之下,包含了许多对进程进行控制的脚本。这些脚本要么以“K”开头,要么以“S”开头。以“K”开头的脚本运行在以“S”开头的脚本之前。这些脚本放置的地方,将决定这些脚本什么时候开始运行。有时候你希望能在不使用 kill 或 killall 命令的情况下,能干净的启动或杀死一个进程。这就是 /etc/init.d/ 能够派上用场的地方了!

如果你在使用 Fedora 系统,你可以找到这个目录:/etc/rc.d/init.d。实际上无论 init.d/ 放在什么地方,它都发挥着相同的作用。

为了能够使用init.d目录下的脚本,你需要有 root 权限。每个脚本都将被作为一个命令运行,该命令的结构大致如下所示:

/etc/init.d/command 选项

command 是实际运行的命令,选项可以有如下几种:

start
stop
reload
restart
force-reload

大多数的情况下,你会使用 start,stop,restart 选项。例如,如果你想关闭网络,你可以使用如下形式的命令:

/etc/init.d/networking stop

又比如,你改变了网络设置,并且需要重启网络。你可以使用如下命令:

/etc/init.d/networking restart

目录 /etc/init.d/ 下常用初始化脚本有:

networking
samba
apache2
ftpd
sshd
dovecot
mysql

当然,你可能有更多常用的脚本,这个取决于你安装了什么 Linux 操作系统。

其实目录 /etc/init.d 是符号链接文件,实际上是链接到目录 /etc/rc.d/init.d,你可以通过以下命令验证:

[root@htlwk0001host ~]# ll /etc/init.d
lrwxrwxrwx. 1 root root 11 5月  11 2019 /etc/init.d -> rc.d/init.d

or

[root@htlwk0001host ~]# ls -ld /etc/init.d
lrwxrwxrwx. 1 root root 11 5月  11 2019 /etc/init.d -> rc.d/init.d

建立方法是:

[root@htlwk0001host ~]# ln -s /etc/rc.d/init.d /etc/init.d

二、关于目录 /etc/rc.d/init.d/

大多数的 Linux 发行版本中,启动的是目录 /etc/rc.d/init.d/ 下的服务,这个目录下存放都是实际的服务脚本文件。

Linux 的每个运行级别,在 /etc/rc.d/ 下都有一个子目录分别是 rc0.d,rc1.d …… rc6.d,其实这些 rcN.d/ 目录下存放的都是链接到目录 /etc/rc.d/init.d/ 下部分脚本链接文件。每个级别要执行的服务就在相对应的目录下,比如级别 5 要启动的服务就都放在 rc5.d/ 下,但是放在这个 rc5.d/ 下的都是一些链接文件,链接到 /etc/rc.d/init.d/ 中相对应的实际脚本文件。

例如,目录 /etc/rc.d/rc2.d/ 下的 S10network 链接文件,实际是链接到目录 /etc/rc.d/init.d/ 下的脚本文件 network。

/etc/rc.d/rc2.d/ 下面的文件就是和运行级 2 有关的。文件开头的 S 代表 start 就是启动服务的意思,后面的数字 10 就是启动的顺序。例如,在同一个目录下,你还可以看到 S80postfix 这个文件,80 就是顺序在 10 以后,因为没有启动网络的情况下,启动 postfix 是没有任何作用的。

在这里插入图片描述

三、关于文件 /etc/rc.local

/etc/rc.local 也是我经常使用的一个脚本。该脚本是在系统初始化级别的脚本运行之后再执行的,因此可以安全地在里面添加你想在系统启动之后执行的脚本。常见的情况是你可以在里面添加 NFS 挂载 /mount 脚本。此外,你也可以在里面添加一些调试用的脚本命令。例如,我就碰到过这种情况:samba 服务总是无法正常运行,而检查发现,samba 是在系统启动过程中就该启动执行的,也就是说 samba守护程序配置保证了这种功能本应该正确执行。碰到这种类似情况,一般我也懒得花大量时间去查为什么,我只需要简单的在 /etc/rc.local 脚本里加上这么一行:/etc/init.d/samba start,这样就成功的解决了samba 服务异常的问题。

四、/etc/init.d/ 和 service 文件

service 文件是使用 systemd 作为初始化程序的 Linux 系统才有的服务文件,叫“服务配置单元文件”,用来取代旧初始化系统中的脚本文件,但是他们可能会同时存在系统中。

如果同时存在的话,在目录 /etc/init.d/ 下的脚本文件的优先级会高于目录 /etc/systemd/system/ 下的 service 文件。

五、关于命令 service

service xxxx start|stop|restart 相当于是对 /etc/init.d/ 下的 xxxx 的封装,相当于是一个管理命令,实际执行的是 /etc/init.d/下的可执行程序。如果 /etc/init.d/下没有该服务的可执行程序,则会查找对应的 service 文件

六、关于文件 /etc/inittab

这是 init 程序的配置文件,系统的运行级别就是在 /etc/inittab 文件里指定,所谓“运行级”就是操作系统当前正在运行的功能级别。这个级别从1 到6 ,具有不同的功能。

七、关于目录 /etc/init/

/etc/init/ 包含的是 Upstart(SysV init的替代版本)的配置文件,和 /etc/init.d/ 的作用几乎差不多。这样似乎 /etc/init/ 可以看作 /etc/init.d/ 的演化版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言行列式源代码,新手作品:行列式计算C语言版

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼对话 ControlHeightDecrease ShiftUp Arrow 向上调整选定的控件或对话一个对话单位对话 ControlHeightIncrease ShiftDown Arrow 向下调整选定的控件或对话一个对话单位对话 ControlMoveDown Dow…

RPM 软件包名中的 el5、el6、el7 是什么?

EL 是 Red Hat Enterprise Linux 的简写。 EL6 表示软件包可以在 Red Hat 6.x,CentOS 6.x,CloudLinux 6.x 进行安装EL5 表示软件包可以在 Red Hat 5.x,CentOS 5.x,CloudLinux 5.x 进行安装EL7 表示软件包可以在 Red Hat 7.x&…

pbc是什么材料_职道漫谈 | 华为的绩效跟你们公司的绩效,有什么区别?

文 | 沈齐雨作者赐稿授权发布,供朋友圈转发分享!欢迎投稿:3069462510qq.com相信现在随便问几个公司员工:你们公司的绩效运行的怎么样?得到的答案大多会是:“完全就是摆设。”“没用不说,还特别浪…

java 异常处理发生异常_处理Java中的异常

java 异常处理发生异常每个程序员都希望编写一个完美的程序。 也就是说,程序运行时没有任何障碍。 好吧,如果希望是马,乞g就会骑。 除了程序员的所有愿望之外,有时还会发生无法预料的情况。 在Java中,这些无法预料的…

android提交项目到svn,Android Studio 配置SVN,通过Share project提交项目和实现忽略文件...

1:首先电脑本身装的SVN必须在bin目录下包含svn.exe文件,如下图。这个文件是在安装SVN时选择安装command line client tools才会出现。如果没有,需要重新安装SVN。2:将SVN关联到Android Studio中声明:在这里我使用的And…

数据库 MySQL 如何设置表的主键自增起始值

文章目录表已有数据,truncate 之后再设置 auto_increment,可行表已有数据,delete from 之后再设置 auto_increment,可行主键自增起始值重置查询表名为 tf_user 的 auto_increment 值创建表时设置 AUTO_INCREMENT 参数表已有数据&a…

数独游戏技巧从入门到精通_如何引导孩子入门九宫格数独?掌握4个技巧口诀,孩子思维提升快...

九宫格数独对孩子的思维训练有着非常不错的效果,我们完全可以用其培养孩子对数字的兴趣,并培养孩子严谨的逻辑推理态度。那九宫格数独有没有技巧口诀呢?对于孩子来说,过于复杂的技巧他们也掌握不了。所以,我们培养孩子…

Spring Boot和Apache Camel

随着软件世界的发展,正在开发更加复杂的系统,这些系统必须相互集成。 它从SOA开始,然后一直到微服务。 骆驼是我想到的第一大集成工具,因为如今的骆驼springboot是一个非常强大的组合。 第一步是将骆驼依赖项包含到我们的sprin…

MySQL 如何复制表

文章目录一、复制表结构及数据到新表二、只复制表结构到新表(一)使用关键字 like(二)使用 select 语句三、真正完整复制表四、复制表,同时重新定义字段名(拷贝旧表中部分的字段)五、复制表&…

android获取应用安装通知消息,如何在Android 11 上获取已安装应用列表

在Android 11上,我们可以看到很多的更新都是用来保护隐私的,如果你的app 在使用PackageManger的方法来获取安装的应用列表,那么在Android11上,就需要做一点改变了。我们来看看一下获取应用列表的代码,会不会和你的很相…

python特征选择pso_粒子群优化算法(PSO)之基于离散化的特征选择(FS)(三)

作者:Geppetto前面我们介绍了特征选择(Feature Selection,FS)与离散化数据的重要性,总览的介绍了PSO在FS中的重要性和一些常用的方法,介绍了FS与离散化的背景,介绍本文所采用的基于熵的切割点和最小描述长度原则(MDLP)…

postgresql_PostgreSQL开放自由

postgresqlOpen Liberty是源自WebSphere Liberty的有趣的新型OSS Java EE应用服务器。 您可以将Open Liberty配置为使用PostgreSQL作为其默认数据源&#xff0c;如下所示&#xff1a; 将<datasource> &#xff0c; <jdbcDriver>和<library>指令添加到server…

MySQL注释形式_可执行注释语句(/*!...*/)_数据库注释_数据库脚本注释_SQL脚本注释格式_SQL脚本注释分类

文章目录单行注释多行注释可执行注释为什么要把可执行的 SQL 语句写在注释里面呢&#xff1f;注释示例导入数据时禁止/激活索引测试禁止索引再导入数据的效率单行注释 SELECT * from tf_user; # 单行注释&#xff0c;从这个注释符号起直到该行结束 SELECT * from tf_user; -- …

苹果android投屏,iphone怎么投屏到mac?苹果手机投屏到苹果电脑方法

iphone和mac的使用人群越来越多,其中投屏功能却难倒了大部分新手用户,许多使用iPhone以及Mac的用户朋友都还不知道iPhone怎么投屏到mac,好奇的用户朋友马上点击查看iphone投屏到mac教程来实现这个具有科技革新感的功能吧。官方推荐方法1&#xff1a;用数据线- 1.使用lightning线…

微服务java模块内存管理_Java 9模块服务

微服务java模块内存管理接线与查找 Java长期以来都有一个ServiceLoader类。 它是在1.6中引入的&#xff0c;但是自Java 1.2以来就使用了类似的技术。 一些软件组件使用了它&#xff0c;但是使用并不广泛。 它可以用于模块化应用程序&#xff08;甚至更多&#xff09;&#xff0…

学python多大年龄可以学车_多大年龄可以学驾照?

展开全部最少要满 18 岁才32313133353236313431303231363533e4b893e5b19e31333365656662可以考部分车型的《机动车驾驶证》一、根据《中华人民共和国公安部令》第十一条规定申请《机动车驾驶证》的人&#xff0c;应当符合下列规定1. 年龄条件(1)申请小型汽车、小型自动挡汽车、…

Linux 命令之chgrp -- 用来改变文件或目录所属的用户组

文章目录命令介绍常用选项参考示例&#xff08;一&#xff09;修改指定目录及其所含的文件的用户组&#xff08;二&#xff09;更改指定文件的用户组&#xff08;三&#xff09;把指定文件的所属群组设成和参考文件的所属群组相同命令介绍 chgrp 是英语单词“change group”的…

signature=02d2eb69b4d24e2f9bb2956f66089339,Signature Balancing

摘要&#xff1a;Signatures are an important part of the design of a ship. In an ideal situation, signatures must be as low as possible. However, due to budget constraints it is most unlikely to reach this ideal situation. The arising question is which leve…

使用实例工厂方法实例化_一些工厂实例

使用实例工厂方法实例化我时不时地发现自己摸索了一些旧代码&#xff0c;找到了“我在哪里做过类似工厂的事情”的示例。 上周再次发生这种情况时&#xff0c;我决定只查找所有示例&#xff0c;并创建一个示例项目和有关该示例的博客文章。 所以在这篇文章中&#xff0c;我&a…

linux内核设计与实现 epub_Epoll学习服务器的简单实现-Linux内核Epoll结构

1.Begins~有的人学习linux编程很久&#xff0c;只知道网络编程是socket&#xff0c;bind&#xff0c; listen。。。&#xff0c;然而这些都是网络通信软件最基本的接口。在某网络公司待了y&#xff0c;也了解到公司的基础就是网络转发 &#xff0c;然而网络转发实现并非我们平时…