理解 Linux 中的 shutdown、poweroff、halt 和 reboot 命令

Aaron Kili 的头像

·

·

·

53,494 次阅读

在本篇中,我们会向你解释 shutdownpoweroffhalt 以及 reboot 命令。我们会解释清楚当你用那些可用的选项执行的时候它们实际做了什么。

如果你想深入 Linux 服务器管理,那么为了有效和可靠的服务器管理,这些重要的 Linux 命令你需要完全理解。

通常上,当你想要关闭或者重启你的机器时,你会运行下面之一的命令:

shutdown 命令

shutdown 会给系统计划一个时间关机。它可以被用于停止、关机、重启机器。

你可以指定一个时间字符串(通常是 now 或者用 hh:mm 指定小时/分钟)作为第一个参数。额外地,你也可以设置一个广播信息在系统关闭前发送给所有已登录的用户。

重要:如果使用了时间参数,系统关机前 5 分钟,会创建 /run/nologin 文件。以确保没有人可以再登录。

shutdown 命令示例:

# shutdown
# shutdown now
# shutdown 13:20  
# shutdown -p now  ### 关闭机器
# shutdown -H now  ### 停止机器      
# shutdown -r09:35 ### 在 09:35am 重启机器

要取消即将进行的关机,只要输入下面的命令:

# shutdown -c

halt 命令

halt 通知硬件来停止所有的 CPU 功能,但是仍然保持通电。你可以用它使系统处于低层维护状态。

注意在有些情况会它会完全关闭系统。下面是 halt 命令示例:

# halt             ### 停止机器
# halt -p          ### 关闭机器
# halt --reboot    ### 重启机器

poweroff 命令

poweroff 会发送一个 ACPI 信号来通知系统关机。

下面是 poweroff 命令示例:

# poweroff           ### 关闭机器
# poweroff --halt    ### 停止机器
# poweroff --reboot  ### 重启机器

reboot 命令

reboot 通知系统重启。

# reboot           ### 重启机器
# reboot --halt    ### 停止机器
# reboot -p        ### 关闭机器

就是这样了!如先前提到的,理解这些命令能够有效并可靠地在多用户环境下管理 Linux 服务器。你有一些额外的想法么?在评论区留言与我们分享。

via: https://www.tecmint.com/shutdown-poweroff-halt-and-reboot-commands-in-linux/

作者:Aaron Kili 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

17 条回复

  1. 来自广东的 Chrome 58.0|Windows 7 用户 的头像
    来自广东的 Chrome 58.0|Windows 7 用户

    只能说是介绍,而不是理解。
    没什么干货。

    来自珠海
  2. 来自浙江杭州的 Chrome 58.0|GNU/Linux 用户 的头像
    来自浙江杭州的 Chrome 58.0|GNU/Linux 用户

    这个。。。

    来自杭州
  3. 来自浙江的 Vivaldi 1.9|GNU/Linux 用户 的头像
    来自浙江的 Vivaldi 1.9|GNU/Linux 用户

    最重要的是要分清出"停止機器"和"關閉機器"的區別,至於用哪個命令,呵呵,這些命令是互相引用或者說互相替代的~

    来自北京
  4. cuthead [Firefox 53.0|Ubuntu] 的头像
    cuthead [Firefox 53.0|Ubuntu]

    poweroff和shutdown now一样啊

    来自威海
  5. 来自云南昆明的 Firefox 53.0|Windows 7 用户 的头像
    来自云南昆明的 Firefox 53.0|Windows 7 用户

    并没有解释这些命令具体的细节和区别,差评

    来自昆明
  6. 来自湖北武汉的 Firefox 53.0|GNU/Linux 用户 的头像
    来自湖北武汉的 Firefox 53.0|GNU/Linux 用户

    并没有看懂什么。。。

    来自广州
  7. 来自湖北武汉的 Firefox 53.0|Ubuntu 用户 的头像
    来自湖北武汉的 Firefox 53.0|Ubuntu 用户

    等于没写

    来自武汉
  8. 文剑一飞 [Chrome 58.0|Windows 10] 的头像
    文剑一飞 [Chrome 58.0|Windows 10]

    "低层维护状态"是什么意思?“底层维护”还听说过。

    来自广州
  9. linux [Chrome 58.0|Mac 10.11] 的头像
    linux [Chrome 58.0|Mac 10.11]

    原文如此,low-level ,应该不是专有名词,可能是指,处于通电但是没有进入引导状态。

    来自北京
  10. 来自北京的 Safari 10.1|Mac 10.12 用户 的头像
    来自北京的 Safari 10.1|Mac 10.12 用户

    很水啊,没有解释下几个名词的区别吗?

    来自北京
  11. 噪音未来 [Chrome 58.0|Windows 7] 的头像
    噪音未来 [Chrome 58.0|Windows 7]

    shutdown 以一种安全的方式关闭系统。所有登陆用户都可以看到关机信息提示,并且 login  将被阻塞。
    halt命令,若系统的 runlevel 为 0 或 6 ,则关闭系统,否则以 shutdown 指令(加上 -h 参数)来取代。
    poweroff命令用来关闭计算机操作系统并且切断系统电源。
    reboot执行reboot指令可让系统停止运作,并重新开机。
    网上能搜到的就这些,详细的内容自己搜搜看吧,文章列出的内容确实太单一了。

    来自北京
  12. 来自四川成都的 Chromium 58.0|Ubuntu 用户 的头像
    来自四川成都的 Chromium 58.0|Ubuntu 用户

    要看具体的 init 是什么,systemd 是没有 runlevel 的概念。

    来自成都
  13. 来自四川成都的 Chrome 58.0|GNU/Linux 用户 的头像
    来自四川成都的 Chrome 58.0|GNU/Linux 用户

    来自 man 的简要说明

    poweroff, halt, reboot: These are legacy commands available for compatibility only.
    shutdown: shutdown may be used to halt, power-off or reboot the machine.

    来自成都
  14. 来自北京的 Liebao|Windows 7 用户 的头像
    来自北京的 Liebao|Windows 7 用户

    然而我并没有看懂

    来自北京
  15. 来自江西南昌的 Chrome 60.0|Mac 10.12 用户 的头像
    来自江西南昌的 Chrome 60.0|Mac 10.12 用户

    我选择init 0 关机init 6 重启

    来自南昌
  16. 来自江苏南京的 QQ Browser 10.3|Windows 10 用户 的头像
    来自江苏南京的 QQ Browser 10.3|Windows 10 用户

    其实我还是比较想知道shutdown -r now和reboot的区别,据我所了解的:
    【reboot】默认情况下其实是调用了shutdown -r来进行重启的;
    和【halt】类似,【halt】其实是调用shutdown -h命令!

    这种理解不知道是否正确?!

    来自南京
  17. 来自广东广州的 Firefox 106.0|Windows 10 用户 的头像
    来自广东广州的 Firefox 106.0|Windows 10 用户

    關閉機器:主板关电
    停止機器:主板不关电,可以看到风扇、灯都在闪

    来自广州

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注