zoukankan      html  css  js  c++  java
  • Linux系统常用的关机或重启命令shutdown、reboot、halt、poweroff、init 0及init 6的联系与区别

    Linux下常用的关机/重启命令一般包括:

    shutdown、reboot、halt、poweroff等,当然了我们可以使用init 运行等级runlevel 0即halt来关机,或使用init 运行等级runlevel 6即reboot来执行重启。

    当然了这些关机或重启的方式也有一些细微差别。

    首先明确一下linux/redhat系的runlevel运行级别和debian系的runlevel是有所不同的。

    redhat系的runlevel定义如下:

    runlevel 0: halt 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

    runlevel 1: single user 单用户工作状态,root权限,用于系统维护,禁止远程登陆

    runlevel 2: multiuser without network 多用户状态(没有NFS)

    runlevel3: multiuser 完全的多用户状态(有NFS),登陆后进入控制台命令行模式

    runlevel4: unuse 系统未使用,保留

    runlevel5: x11 X11控制台,登陆后进入图形GUI模式

    runlevel6: reboot 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

    在debian/ubuntu中,runlevel的定义为:

    0 - Halt 

    1 - Single 

    2 - Full multi-user with display manager (GUI) 

    3 - Full multi-user with display manager (GUI) 

    4 - Full multi-user with display manager (GUI) 

    5 - Full multi-user with display manager (GUI) 

    6 - Reboot 

    可以发现2~5级是没有任何区别的。 

    Ubuntu系统默认的运行级别为2。

    因此,我们可以使用init 0来执行halt关机,使用init 6来执行reboot。

    其实shutdown命令也是在执行完一系列操作后,比如说逐个关闭进程/服务,调用sync将数据写入磁盘等,然后调用init0或init6来执行关机或重启的。

    而halt实际上是调用shutdown -h now,可以不理会系统当前状态而直接关机,但在有的系统中,halt不会关闭电源,而只关闭了os。

  • 相关阅读:
    C#用递归求阶乘 n!
    视图与表的区别和联系(小结)
    ref 和 out 的异同
    什么是重载?(最文艺的理解)
    [windows c]关于winsock2.h的recv函数的记录
    [windows c]关于指针函数和参数可变函数同时应用情况的疑问
    [windows c]CreateProcess
    c++ boost asio库初学习
    c#中ObservableCollection<T>排序方法
    安装opensuse时遇到的一些问题
  • 原文地址:https://www.cnblogs.com/timlong/p/12979707.html
Copyright © 2011-2022 走看看