Run level 的切换,利用run level重启,关机
2014-06-20 17:38
99 查看
Run level 的切换
在我们完成上面的所有资讯后,其实整个 Linux 主机就已经在等待我们使用者的登陆啦!但是,相信您应该还是会有一点疑问的地方,那就是:『我该如何切换 run level 呢?』会不会很难啊?不会啦!很简单~但是依据运行的时间而有不同的方式啊!
事实上,与 run level 有关的启动其实是在 /etc/rc.d/rc.sysinit 运行完毕之后。也就是说,其实 run level 的不同仅是 /etc/rc[0-6].d 里面启动的服务不同而已。不过,依据启动是否自动进入不同 run level 的配置,我们可以说:
要每次启动都运行某个默认的 run level ,则需要修改 /etc/inittab 内的配置项目,亦即是『 id:5:initdefault: 』里头的数字啊;
如果仅只是暂时变更系统的 run level 时,则使用 init [0-6] 来进行 run level 的变更。但下次重新启动时,依旧会是以 /etc/inittab 的配置为准。
假设原本我们是以 run level 5 登陆系统的,但是因为某些因素,想要切换成为 run level 3 时,该怎么办呢?很简单啊,运行『 init 3 』即可切换。但是 init 3 这个动作到底做了什么呢?我们不是说了吗?事实上,不同的 run level 只是加载的服务不同罢了,亦即是 /etc/rc5.d/ 还有 /etc/rc3.d 内的 Sxxname 与 Kxxname 有差异而已。所以说,当运行 init 3 时,系统会:
先比对 /etc/rc3.d/ 及 /etc/rc5.d 内的 K 与 S 开头的文件;
在新的 runlevel 亦即是 /etc/rc3.d/ 内有多的 K 开头文件,则予以关闭;
在新的 runlevel 亦即是 /etc/rc3.d/ 内有多的 S 开头文件,则予以启动;
也就是说,两个 run level 都存在的服务就不会被关闭啦!如此一来,就很容易切换 run level 了,而且还不需要重新启动呢!真方便。那我怎么知道目前的 run level 是多少呢?直接在 bash 当中输入 runlevel 即可啊!
那么你能不能利用 init 来进行关机与重新启动呢?可以的啦!利用『 init 0 』就能够关机,而『 init 6 』就能够重新启动!为什么?往前翻一下 runlevel 的定义即可了解吧!
在我们完成上面的所有资讯后,其实整个 Linux 主机就已经在等待我们使用者的登陆啦!但是,相信您应该还是会有一点疑问的地方,那就是:『我该如何切换 run level 呢?』会不会很难啊?不会啦!很简单~但是依据运行的时间而有不同的方式啊!
事实上,与 run level 有关的启动其实是在 /etc/rc.d/rc.sysinit 运行完毕之后。也就是说,其实 run level 的不同仅是 /etc/rc[0-6].d 里面启动的服务不同而已。不过,依据启动是否自动进入不同 run level 的配置,我们可以说:
要每次启动都运行某个默认的 run level ,则需要修改 /etc/inittab 内的配置项目,亦即是『 id:5:initdefault: 』里头的数字啊;
如果仅只是暂时变更系统的 run level 时,则使用 init [0-6] 来进行 run level 的变更。但下次重新启动时,依旧会是以 /etc/inittab 的配置为准。
假设原本我们是以 run level 5 登陆系统的,但是因为某些因素,想要切换成为 run level 3 时,该怎么办呢?很简单啊,运行『 init 3 』即可切换。但是 init 3 这个动作到底做了什么呢?我们不是说了吗?事实上,不同的 run level 只是加载的服务不同罢了,亦即是 /etc/rc5.d/ 还有 /etc/rc3.d 内的 Sxxname 与 Kxxname 有差异而已。所以说,当运行 init 3 时,系统会:
先比对 /etc/rc3.d/ 及 /etc/rc5.d 内的 K 与 S 开头的文件;
在新的 runlevel 亦即是 /etc/rc3.d/ 内有多的 K 开头文件,则予以关闭;
在新的 runlevel 亦即是 /etc/rc3.d/ 内有多的 S 开头文件,则予以启动;
也就是说,两个 run level 都存在的服务就不会被关闭啦!如此一来,就很容易切换 run level 了,而且还不需要重新启动呢!真方便。那我怎么知道目前的 run level 是多少呢?直接在 bash 当中输入 runlevel 即可啊!
[root@www ~]# runlevel N 5 # 左边代表前一个 runlevel ,右边代表目前的 runlevel。 # 由於之前并没有切换过 runlevel ,因此前一个 runlevel 不存在 (N) |
# 将目前的 runlevel 切换成为 3 (注意, tty7 的数据会消失!) [root@www ~]# init 3 NIT: Sending processes the TERM signal Applying Intel CPU microcode update: [ OK ] Starting background readahead: [ OK ] Starting irqbalance: [ OK ] Starting httpd: [ OK ] Starting anacron: [ OK ] # 这代表,新的 runlevel 亦即是 runlevel3 比前一个 runlevel 多出了上述 5 个服务 [root@www ~]# runlevel 5 3 # 看吧!前一个是 runlevel 5 ,目前的是 runlevel 3 啦! |
相关文章推荐
- [OSDEV]利用ACPI让操作系统关机,重启,响应关机按钮
- Linux用init命令关机、重启、切换模式
- Linux CentOS 学习小记(修改inittab,切换root账户,关机,重启)
- VB.NET利用Windows API 实现关机、注销、重启等操作
- 开机,关机,重启,切换用户,开机环境设定,多重启动grub,帮助命令的使用
- C#利用Windows API 实现关机、注销、重启等操作
- Linux 使用init命令实现关机,重启,切换模式
- Linux中使用init命令关机、重启、切换模式等
- 利用Service实现android重启,切换输出制式
- Windows 2000 server如何利用命令关机重启
- Linux用init命令关机、重启、切换模式
- Linux用init命令关机、重启、切换模式
- Linux学习总结(18)——Linux使用init命令关机、重启、切换模式
- Linux CentOS 学习小记(修改inittab,切换root账户,关机,重启)
- Linux学习总结(18)——Linux使用init命令关机、重启、切换模式
- C#利用Windows API 实现关机、注销、重启等操作
- Android使用广播实现关机及重启
- 利用viewpager实现页面的滑动切换
- IOS APP 国际化(实现不跟随系统语言,不用重启应用,代码切换stroyboard ,xib ,图片,其他资源)
- 利用C#重启远程计算机