在Linux系统引导流程中,当系统判断运行级别后,就会读取/etc/rc.d/rcn.d(其中n=0到6)。关于服务的一些问题,为了方便以rc0.d文件里的服务来说明,输入命令:ls /etc/rc.d/rc0.d,如下图:
首先来解读这些服务的格式,这些服务的构成由三部分组成:
开头不是大写字母K就是S,这里的K表示kill,S表示start。所以很明显以K开头的表示不会启动,以S开头的表示启动。注意只有大写字母开头的表示是启动或停止如果用mv命令把其改为小写,系统是无法识别的!!!比如mv K25sshd k25sshd。所以根据这个方法,给你提供了用户自定义的运行级别(运行级别4),打个不加当比喻用级别0来解释(级别0表示停止,所以不恰当),这个时候要自定这些服务,也就是哪些以S开头的服务不要(假设以K开头的都不需要)这个时候可以通过mv命令把大写S改为小写s,这样的好处是以后要开启时在把它改为大写S,而不会因为随便修改导致自己忘了是哪一个了!!!!可能有疑问的是这些以K开头的服务并不需要为什么不直接删除,因为有些时候你可能是需要开启的,所以留着还是有用的,下面会讲到如何开启或关闭的方法。紧接着大写字母的是由数字构成,数字也没其他什么意思,主要是数字越小越优先启动,紧接着如果数字相同怎么办?如果数字相同,就按服务创建的(脚本)顺序来启动!!!数字后面的字母很明显表示服务的名字。
还有一点要注意的是/etc/rc.d/rcn.d起始是软连接,都指向/etc/rc.d/init.d这个文件里的脚本面如下图:
上面1的方法如何关闭服务的方法是在进入系统后来设置,在启动该服务就不会在启动了,那么问题来了,能否
在启动以后进入的界面还能关闭服务?? 以sshd服务为例。
输入命令:/etc/rc.d/init.d/sshd ,直接回车,显示如图:
这个时候你会看到出现“start,stop,restart”等等。这里介绍几个常用的:
start与stop就不多说了。restart表示重启,这里主要说明一下的是restart不管服务是不是在启动都会先执行stop在执行start。reload表示重新读取这个服务的配置文件与restart的区别是reload不需要重新启动服务。
conrestart会先检测这个服务是否在运行,若在运行就睡执行restart这个过程。否则,就不会执行。
输入命令:/etc/rc.d/init.d/sshd stop,如下图:
这个时候这个在运行的服务就会停止。
上面的问题是服务在运行的时候如何关闭以及用小写来代替大写关闭服务,那么能否用命令来修改不同的运行级别对应的
服务是开启或者关闭,这了就涉及到两个命令:chkconfig和ntsysv。
同样的道理不会的命令就输入:man chkconfig,如下图:
以sshd为例,由上面用法输入:chkconfig --list sshd,显示如下:
表示sshd服务分别在0-6这7个运行级别的开关状态。那么如何关闭或开启???由上图的SYNOPSIS下面的第五行
比如在0开启,输入chkconfig --level 0 sshd on,显示如下:
当然也可以把多个级别一起进行设置也就是针对某一服务批量处理。只需要把上面例子0比如改为234。
对于ntsysv相当于一种菜单式的选择性的修改,直接输入ntsysv,如下:
这是会看到各个服务前面有这么个符号“[*]”,按空格可以取消“[]"里面的“*”就表示关闭这个服务,注意我的运行级别是5
所以直接敲ntsysv表示是对运行级别5服务的设置,如果想切换其他级别进行设置可以直接敲:ntsysv --level 3。
当设置完毕后想要确认,按TAB就选项就会跳转到“确定 取消”那一行 。
今天就说这么多了,溜了遛了!!!
举报/反馈