runlevel能够认为是系统状态,形象一点,您能够认为runlevel有点象微软的windows操做系统中的Normal,safemode,和Command prompt only。linux
Linux系统有7个运行级别(runlevel)
运行级别0:系统停机状态,系统默认运行级别不能设为0,不然不能正常启动
运行级别1:单用户工做状态,root权限,用于系统维护,禁止远程登录
运行级别2:多用户状态(没有NFS)
运行级别3:彻底的多用户状态(有NFS),登录后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登录后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,不然不能正常启动
S, s Single user modewindows
运行级别的原理:
1。在目录/etc/rc.d/init.d下有许多服务器脚本程序,通常称为服务(service)
2。在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别
3。rcN.d目录下都是一些符号连接文件,这些连接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
4。系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的连接文件
对于以K开头的文件,系统将终止对应的服务
对于以S开头的文件,系统将启动对应的服务
5。查看运行级别用:runlevel
6。进入其它运行级别用:init N
7。另外init0为关机,init 6为重启系统服务器
在运行模式中加入启动服务spa
要在某个运行模式中加入一个启动服务,首先要新建该服务启动脚本,而后把它放置于/etc/rc.d/init.d或者/etc/init.d/(根据你的linux版本有所不一样),要将该启动脚本与运行模式关联起来,你须要这个运行模式的目录下创建一个与/etc/rc.d/init.d/下启动脚本的symbolic link,文件名的前缀一般为SXX,XX为数字,这个数字是用来控制该运行模式下服务的启动顺序。脚本的执行顺序是按照数字大小升序执行,就是数字越小越先执行,下面就是一个在运行模式中加入启动服务具体的例子:
$ cp myservice /etc/rc.d/init.d/
$ ln -s /etc/rc.d/init.d/myservice /etc/rc3.d/S99myservice
这样,下次以runlevel 3启动时,myservice就会自动启动。操作系统
注意:命令行
多数的桌面的linux系统缺省的runlevel是5,用户登录时是图形界面,而多数的服务器版本的linux系统缺省的runlevel是3,用户登录时是字符界面,runlevel 1和2除了调试以外不多使用,runlevel s和S并非直接给用户使用,而是用来为Single user mode做准备。调试