Chinaunix首页 | 论坛 | 博客
  • 博客访问: 586351
  • 博文数量: 192
  • 博客积分: 3780
  • 博客等级: 中校
  • 技术积分: 1487
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-26 10:11
文章存档

2012年(6)

2011年(160)

2010年(26)

分类: 嵌入式

2011-04-24 21:33:16

Linux运行级别Runlevel

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

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

  在大多数的发行版本中,通常有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

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

  的运行模式比起windows的启动模式的优势在于:你可以在系统空闲时使用.init工具切换你现在使用的Runlevel,另外,当你关闭或者启动 系统时你已经不知不觉中切换你的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/(根据你的 版本有所不同),要将该启动脚本与运行模式关联起来,你需要这个运行模式的目录下建立一个与/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就会自动启动。

  以某个Runlevel启动

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

  LILO:  5

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

  kernel /vmlinuz ro root=/dev/hda1 5

 

为什么要改变运行级别?
不同的状态对资源得要求是不同的
图形界面会占用大量空间
而如果作服务器使用,则无须开启图形界面,给服务器节省内存,cpu等资源。提高效率

0:关机。不能将系统缺省运行级别设置为0,否则无法启动。

1:单用户模式,只允许root用户对系统进行维护。

2:多用户模式,但不能使用NFS(相当于Windows下的网上邻居)

3:字符界面的多用户模式。

4:未定义。

5:图形界面的多用户模式。

6:重启。不能将系统缺省运行级别设置为0,否则会一直重启。

查看运行级别

$ runlevel

或者

$ who -r

改变运行级别

首先查看你的ubuntu里是否存在这样一个文件 /etc/inittab

如果没有, 创建一个

$sudo vim /etc/initab

我设的运行级别为5

内容如下:

id:5:initdefault:

重启,查看即可

其实还有另外一种方法关闭图形界面,节省系统资源

sudo install sysv-rc-conf

再用root来执行

sudo sysv-rc-conf

关掉你需要的运行级别里的gdm, 或者全部都关掉

然后按q退出即可

阅读(625) | 评论(0) | 转发(0) |
0

上一篇:gps tracker

下一篇:BIOS烧写问题

给主人留下些什么吧!~~