当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > linux的运行模式:runlevel

Unix/Linux
Linux 网管 123 --- 第6章. 一般系统管理问题 -3.变更使用者密码
Linux 网管 123 --- 第6章. 一般系统管理问题 -4.关闭删除使用者帐号
Linux 网管 123 --- 第6章. 一般系统管理问题 -5.Linux 密码及 S
Linux 网管 123 --- 第6章. 一般系统管理问题 -6.关闭系统及重新启动
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -1.HTTP
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -2.DNS
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -3.使用 TACACS
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -4.使用 Samba
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -5.使用 Netata
Linux 网管 123 --- 第7章. 自订的组态及管理内容 -6.NFS
Linux 网管 123 --- 第13章. 其他的问题 2.哪里可以找到帮助
Linux 网管 123 --- 第13章. 其他的问题 3.附带文件的指示
RedHat 6.2 中文显示与输入的设置
RedHat 6.2 中文 TrueType 字体的使用
Linux 网管 123 --- 第13章. 其他的问题 1.系统损毁
Linux系统中网络配置详解
如何配置linux与win2000/NT 双重引导
kernel hacking简单入门
Linux下如何刻录任何文件系统格式的光盘?
编译内核make dep 是啥意思 ?

Unix/Linux 中的 linux的运行模式:runlevel


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 108 ::
收藏到网摘: n/a

 

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

runlevel可以认为是系统状态,形象一点,您可以认为runlevel有点象微软的windows操作系统中的Normal,safemode,和Command prompt only。进入每个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

多数的桌面的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/下启动脚本的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: linux 5
如果你使用的是GRUB,在启动时你可以按住e键进入设置模式,相应的位置显示为:
kernel /vmlinuz ro root=/dev/hda1 5