一、init 的运行级定义
1,# init 0系统启动rc0脚本杀掉运行的进程,关闭操作系统。使用虚拟机测试关闭到“关机”状态;
2,# init 1系统杀掉运行进程后启动到单用户模式。通过虚拟机测试可以看到虚拟机初始化到单用户模式,远程用户被out了。按Ctrl+D(exit)将设备重启,恢复到多用户状态;
3,# init 5系统杀掉运行进程后,关闭操作系统。使用虚拟机测试,“然而并没有什么luan用”,没有出现关闭操作系统;
4,# intit 6 重启。
二、shutdown、poweroff、reboot命令
1,shutdown在关机动作中用得比较多的命令。Shutdown主要会经过以下几个过程完成关机。
1,指定关机时间,并发送消息给正在使用的用户;
2,然后运行运行init 0杀掉所有进程;
3,运行sync将内存中的数据同步到硬盘;
4,最后调用halt进入关机模式;
2,shutdown常用操作
1,通过---help查看shutdown常用参数
[[email protected] ~]# shutdown --help Usage: shutdown [OPTION]... TIME [MESSAGE] Bring the system down. Options: -r rebootafter shutdown -h haltor power off after shutdown -H halt after shutdown (implies-h) -P poweroff after shutdown (implies -h) -c cancela running shutdown -k onlysend warnings, don‘t shutdown -q,--quiet reduce output to errors only
2,示例1:
窗口1:[[email protected] ~]# shutdown 23:30 #直接加时间指明某刻关机。 Broadcast message from [email protected] (/dev/pts/2) at 22:56 ... The system is going down for maintenance in34 minutes! #如果想取消也可以按Ctrl+C取消 shutdown: Shutdown cancelled ##在另外一个终端使用-c参数取消了
窗口2:[[email protected] ~]# Broadcast message from [email protected] (/dev/pts/2) at 22:56 ... The system is going down for maintenance in34 minutes! #窗口1命令引起的消息 [[email protected] ~]# shutdown –c #在另外一个终端使用-c取消
3,示例2:
[[email protected] ~]# shutdown 30 # The system is going down for maintenance in30 minutes! [[email protected] ~]# shutdown -r now # The system is going down for reboot NOW!
3,halt命令
halt命令只完成关机进程的一部分职能,他不通报正在登陆的用户,不执行kill操作,而立即进行shutdown,如果使用#halt –q 会立即停止系统,没有同步,没有杀死进程或写入日志,非常危险。
[[email protected] ~]# halt Broadcast message from [email protected] (/dev/pts/0) at 23:13 ... The system is going down for halt NOW!
4,poweroff 命令
Poweroff命令不通报正在登陆的用户,不执行kill脚本操作,立即进行shutdown并掉电。一般与sync命令同时使用如:#sync;reboot。
三、总结:halt、poweroff、reboot都是比较危险的操作,一般不建议使用这些命令。或者需要使用这些命令前先使用“sync”同步下。
使用shutdown时可以先是使用# shutdown now –k 只是发送关机消息,并不会真正的关机。