Linux中常用的关机或重启命令有:shutdown、reboot、halt、poweroff、init 0以及init 6
首先明确一下init 后面跟的等级的区别
redhat中的定义如下:
init 0:最低级,不运行(init 0可以将系统关机,等于图书馆直接关门不通知里面的人)
init 1:单用户模式,root权限,用于系统维护,可以该别的用户的密码
init 2:CLi服务,没有NFS
init 3:标准CLi服务
init 4:没有
init 5:x11控制台,登录后进入图形GUI模式
init 6:reboot系统正常关闭并重启。
init 0用于立即将系统运行级别切换为0,即关机
init 6就等于是执行reboot
shutdown命令 先执行关闭进程,写入磁盘等一系列操作后,调用 init 0关机或init 6重启 ,比较安全。
halt实际上是调用shutdown -h now,可以不理会系统当前状态而直接关机,halt执行时,杀死应用进程,执行sync系统调用,文件系统写操作完成后就会停止内核。但在有的系统中,halt不会关闭电源,而只关闭了os。
reboot 没有在init 0,init 6运行级别时,调用shutdown(相当于shutdown -r now)
poweroff直接指向halt -p 相当于halt
reboot与init 6的区别:
对这两个操作使用man命令看到的内容如下:
init 6 Stop the operating system and reboot to the state defined by the initdefault entry in /etc/inittab.
reboot - reboot performs a sync(1M) operation on the disks, and then a
multi- user reboot is initiated. See init(1M) for details.
"init 6" 基于一系列/etc/inittab文件,并且每个应用都会有一个相应shutdown脚本。
'init 6' 调用一系列shutdown脚本(/etc/rc0.d/K*)来使系统优雅关机;
'reboot'并不执行这些过程,reboot更是一个 kernel级别的命令,不对应用使用shutdown脚本。 .
我们应该在通常情况下使用 init 6.
在出问题的状况下或强制重启 时使用reboot.
网友评论