关于chkconfig及运行级别对应的脚本的实现过程

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

使用语法:
    chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

chkconfig在没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。

参数用法:
   --add  增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
   --del  删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
   --level<等级代号>  指定读系统服务要在哪一个执行等级中开启或关毕。
      等级0表示:表示关机
      等级1表示:单用户模式
      等级2表示:无网络连接的多用户命令行模式
      等级3表示:有网络连接的多用户命令行模式
      等级4表示:不可用
      等级5表示:带图形界面的多用户模式
      等级6表示:重新启动
      需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。

chkconfig --list [name]:显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态。
    chkconfig --add name:增加一项新的服务。chkconfig确保每个运行级有一项启动(S)或者杀死(K)入口。如有缺少,则会从缺省的init脚本自动建立。
    chkconfig --del name:删除服务,并把相关符号连接从/etc/rc[0-6].d删除。
    chkconfig [--level levels] name:设置某一服务在指定的运行级是被启动,停止还是重置。

运行级文件:
每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,可以用\ 跨行注释。
例如,random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.

使用范例:
chkconfig --list        #列出所有的系统服务
chkconfig --add httpd        #增加httpd服务
chkconfig --del httpd        #删除httpd服务
chkconfig --level httpd 2345 on        #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
chkconfig --list        #列出系统所有的服务启动情况
chkconfig --list mysqld        #列出mysqld服务设置情况
chkconfig --level 35 mysqld on        #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
chkconfig mysqld on        #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级

如何增加一个服务:
1.服务脚本必须存放在/etc/init.d/目录下然后给与x权限。/etc/init.d/bird start
2.chkconfig --add servicename
    在chkconfig工具服务列表中增加此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口
3.chkconfig --level 35 mysqld on
    修改服务的默认启动等级。

具体实现步骤:

[[email protected] rc3.d]# vim /etc/init.d/bird

#chkconfig 35 56 26 这是在3、5级别下的

#description : this shell by bird at 20170516.

echo "if you study everyday,you will successful oneday."  这是我写的一个脚本

[[email protected] rc3.d]# chkconfig --add bird

[[email protected] rc3.d]# chkconfig --add /etc/init.d/bird 或者这样添加

[[email protected] rc3.d]# chkconfig --list bird

bird           0:off1:off2:off3:on4:off5:on6:off

[[email protected] rc3.d]# ls -l /etc/rc.d/rc3.d | grep bird

lrwxrwxrwx. 1 root root 14 May 16 15:22 S56bird -> ../init.d/bird

[[email protected] rc3.d]# chkconfig bird off

[[email protected] rc3.d]# ls -l /etc/rc.d/rc3.d | grep bird

lrwxrwxrwx. 1 root root 14 May 16 15:26 K26bird -> ../init.d/bird

[[email protected] rc3.d]# chkconfig --list bird

bird           0:off1:off2:off3:off4:off5:off6:off

先创建shell然后用chkconfig --add  用ls -l /etc/rc.d/rc3.d | grep bird 查看

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

打开或者关闭出上述的 chkconfig  --level 3 bird on、off 之外可以使用

[[email protected] rc3.d]#rm -rf /etc/rc.d/rc3.d/K55bird  这个是指就是on

使用 [[email protected] rc3.d]#ln -s /etc/init.d/bird K55bird或S25birdd 也是可以的。这里只是将/etc/init.d/bird 做了一个软连接K55bird到rc3.d下

时间: 2024-10-09 21:04:12

关于chkconfig及运行级别对应的脚本的实现过程的相关文章

Linux 运行级别

(1) 查看运行级别命令介绍: #Runlevel 查看正在运行的级别 #Who –r 查看当前运行的级别和上一次运行的级别 如图9.5-2.1可以看出,在不同级别间切换然后运行命令查看不同效果: Centos 5 Linux 运行级别配置文件路径为:/etc/inittab 下 如图9.5-2.2所示: 其中***部分是action以及对应的process Id:runlevel:action:process 其中process可以隐藏 Action: Wait:等待   切换至此级别运行一次

Linux的运行级别和chkconfig用法

Linux的运行级别和chkconfig用法        一.Linux的运行级别 在装MySQL的时候,才知道了Linux的运行级别这么一回事.汗…自己太水了…下面总结一下: 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/ect/rc.d目录下的文件.        Linux下的7个运行级别: 0à系统停机状态,系统默认运

关于Ubuntu运行级别、开机启动脚本的说明

目录简介 1.1介绍Ubuntu下面的自启动脚本目录 1.2 Linux操作系统运行级别的概念 1.3关于操作系统自启脚本的启动顺序 1.4    Linux操作系统运行级别的概念 1.5 自启和关闭自启服务 1.6 对于init [number]命令 Content: 1.1 介绍Ubuntu操作系统关于自启动脚本的几个目录 其中rc0.d~rc.6.d文件夹下分别对应的是操作系统0-6级运行的状态下需要执行的脚本.此外还有rcS.d文件夹和rc.local文件,而在这些文件夹下的文件,都是软

Linux的七个运行级别原理概述

所谓运行级别,简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找的主要文件,最先运行的服务是那些放在/ect/rc.d目录下的文件. 一.Linux的运行级别: Linux下的7个运行级别: 0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭. 1:单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录. 2:多用户状态,没有

Linux开机启动流程及运行级别和常用组合键 == 第一次所学知识框架==

第一次写经验总结 望体谅 linux开机启动过程总结=简化版 1)  加载bios,获取cpu,内存,硬盘 2)  读取MBR,获取bootloader(grub) 3)  根据grub的内容加载内核 4)  内核执行/sbin/init,根据/etc/inittab完成初始化 5)  init执行 /etc/rc.d/rc.sysinit 6)  启动内核模块,根据/etc/modprobe.conf或/etc/modprobe.d/目录下的的文件来加载模块 7)  根据运行级别不同,init

浅谈Linux系统中的7种运行级别及其原理

浅谈Linux系统中的7种运行级别 Linux系统7个运行级别(runlevel): 运行级别0: 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动. 运行级别1: 单用户工作状态,root权限,用于系统维护,禁止远程登陆. 运行级别2: 多用户状态(没有NFS). 运行级别3: 完全的多用户状态(有NFS),登陆后进入控制台命令行模式. 运行级别4: 系统未使用,保留. 运行级别5: X11控制台,登陆后进入图形GUI模式. 运行级别6: 系统正常关闭并重启,默认运行级别不能设为6,

[开机启动]Linux开机自启和运行级别

嵌入式系统中程序自启动方法 在很多嵌入式系统中,由于可用资源较少,常常在系统启动后就直接让应用程序自动启动,以减少用户操作和节省资源.如何让自己的应用程序自动启动呢?    在Linux系统中,配置应用程序自动启动的方法有以下三种:1.通过/Linuxrc脚本直接启动Linux内核一旦开始执行,它将通过驱动程序来初始化所有硬件设备,这个初始化过程可以在启动时的PC显示器上看到,每个驱动程序都打印一些相关信息.初始化完成后,通常调用的是init,通过loader调用init内的init=/app_

linux基础:4、linux运行级别、单用户模式、救援模式

linux运行级别 含义:指的是Unix或Linux等类Unix操作系统下不同的运行模式.运行级别通常分为7等,分别是从0到6 ================================================================================== [[email protected] ~]# tail /etc/inittab # Default runlevel. The runlevels used are: #   0 - halt (Do N

运行级别

ls -l /usr/lib/system/runlevel*target   (查看运行级别) Linux系统有7个运行级别(runlevel) 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别2:多用户状态(没有NFS) 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式 运行级别4:系统未使用,保留 运行级别5:X11控制台,登陆后进入图形GUI模式 运行级别6:系统正常