Linux操作系统的运行级别

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

运行级别的原理:
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为重启系统



-----------------------华丽的分割线--------------------------



linux操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做runlevel,同样,当linux操作系统关闭时也要经历另外几个不同的runlevel,下面我们就准备详细介绍一下runlevel,并向您展示一些小技巧来让您的linux系统避免不必要的重启动。

  runlevel可以认为是系统状态,形象一点,您可以认为runlevel有点象微软的windows操作系统中的Normal,safemode,和Command promptonly。进入每个runlevel都需要启动或关闭相应的一系列服务(services),这些服务(services)以初始化脚本的方式放置于目录/etc/rc.d/rc?.d/或者/etc/rc?.d下面(?代表runlevel的对应序号)。

  在大多数的linux发行版本中,通常有8个runlevel

  Runlevel System State

  0 Halt the system

  1 Single user mode

  2 Basic multi user mode

  3 Multi user mode

  5 Multi user mode with GUI

  6 Reboot the system

  S, s Single user mode

  *****下列摘自RedHat Enterprise Linux 5(/etc/inittab)

  # Default runlevel. The runlevels used by RHS are:

  # 0 - halt (Do NOT set initdefault to this)

  # 1 - Single user mode

  # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)

  # 3 - Full multiuser mode

  # 4 - unused

  # 5 - X11

  # 6 - reboot (Do NOT set initdefault to this)

  多数的桌面的linux系统缺省的runlevel是5,用户登陆时是图形界面,而多数的服务器版本的linux系统缺省的runlevel是3,用户登陆时是字符界面,runlevel 1和2除了调试之外很少使用,runlevel s和S并不是直接给用户使用,而是用来为Single user mode作准备。

  linux的运行模式比起windows的启动模式的优势在于:你可以在系统空闲时使用.init工具切换你现在使用的runlevel,另外,当你关闭或者启动linux系统时你已经不知不觉中切换你的runlevel,系统关机进程需要调用runlevel(0或6)来关闭所有正在运行中的进程。

  显示当前运行模式

  刚入门时,你或许对先前和目前正在使用中的运行模式很好奇,runlevel命令可以用来显示这些信息:

  $ /sbin/runlevel

  3 5

  runlevel命令的输出结果表明最初的运行模式是3,而现在的运行模式是5。

  切换运行模式

  切换运行模式使用telinit命令(root用户):

  $ /sbin/telinit

  通常,切换运行模式的目的是重启某些应用进程,比如XFree86,将运行模式从5切换到3将终止XFree86以及与之相关的所有进程,然后再把运行模式切换到5,XFree86就可以很干净的启动。在做这些工作之前,请确保所有在XFree86下的工作都已经保存,用root用户:

  $ /sbin/telinit 3

  $ /sbin/telinit 5

  在键入命令之后,你的屏幕可能会显示一些服务启动或者停止的信息。

  在运行模式中加入启动服务

  要在某个运行模式中加入一个启动服务,首先要新建该服务启动脚本,然后把它放置于/etc/rc.d/init.d或者/etc/init.d/(根据你的linux版本有所不同),要将该启动脚本与运行模式关联起来,你需要这个运行模式的目录下建立一个与/etc/rc.d/init.d/下启动脚本的symboliclink,文件名的前缀通常为SXX,XX为数字,这个数字是用来控制该运行模式下服务的启动顺序。脚本的执行顺序是按照数字大小升序执行,就是数字越小越先执行,下面就是一个在运行模式中加入启动服务具体的例子:

  $ cp myservice /etc/rc.d/init.d/

  $ ln -s /etc/rc.d/init.d/myservice /etc/rc3.d/S99myservice

  这样,下次以runlevel 3启动时,myservice就会自动启动。

  以某个runlevel启动

  你可以自己制定启动时所进入的runlevel,如果你的系统使用的是lilo,在启动命令中将相应的部分为:

  LILO: linux 5

  如果你使用的是GRUB,在启动时你可以按住e键进入设置模式,相应的位置显示为:

  kernel /vmlinuz ro root=/dev/hda1 5


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值