美文网首页linux
Linux中常用的关机或重启命令的区别

Linux中常用的关机或重启命令的区别

作者: gg大宇 | 来源:发表于2019-03-03 17:48 被阅读42次

    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.

    相关文章

      网友评论

        本文标题:Linux中常用的关机或重启命令的区别

        本文链接:https://www.haomeiwen.com/subject/fhlmuqtx.html