V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
rizon
V2EX  ›  Linux

Linux shutdown -h 参数什么作用?

  •  
  •   rizon ·
    othorizon · 2018-09-29 21:32:20 +08:00 · 6576 次点击
    这是一个创建于 2281 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天看 shutdown 命令有一个 -h参数,查资料说是-h 表示 ‘停机’ ,不加-h 则是 ‘关机’
    首先不清楚这个说法对否?
    另外 这里停机和关机有啥区别,网上说是停机不断电,关机断电,那断电又是怎么个意思?传统意义上 shutdown 之后电源不就断开了吗?只是灯也灭了。
    所以请教一下大佬这个东西。

    1. -h 参数的含义
    2. 关机与停机的区别
    20 条回复    2018-10-06 12:30:31 +08:00
    ysc3839
        1
    ysc3839  
       2018-09-29 21:38:01 +08:00 via Android
    大概是 halt 吧?让 CPU 停止工作。
    adadada
        2
    adadada  
       2018-09-29 21:44:02 +08:00 via iPhone
    liuguang
        3
    liuguang  
       2018-09-29 21:44:16 +08:00
    试试这两个命令
    shutdown -h now
    shutdown -r now
    xupefei
        4
    xupefei  
       2018-09-29 21:44:46 +08:00   ❤️ 17
    大概 20 年前,Windows 关机命令不会断电,而是会显示一条信息,类似下图:


    出现这个画面后,你按一下电源按钮,电脑断电了。这个叫 halt,停机。
    liwufan
        5
    liwufan  
       2018-09-29 21:58:31 +08:00
    @xupefei 哈哈,真怀旧。那时候电脑电源没有继电器,没有自动开关,没有 5vsb。
    expy
        6
    expy  
       2018-09-29 22:00:40 +08:00
    ubuntu18.04 $man shutdown 得出-h -P --poweroff 一样,就是断电;-H --halt 是关机。

    https://unix.stackexchange.com/questions/8690/what-is-the-difference-between-halt-and-shutdown-commands
    SingeeKing
        7
    SingeeKing  
       2018-09-29 22:22:01 +08:00
    楼上一群人抖机灵有意思吗。。。除了一位给出了答案其他人都贴文档有什么用。。楼主已经查过文档了啊而且楼主问的问题就是「关机」和「断电」的区别联系啊
    rizon
        8
    rizon  
    OP
       2018-09-29 22:28:07 +08:00 via iPhone
    @xupefei 哈哈 懂了。原来还有这么个历史,学到了。
    liwufan
        9
    liwufan  
       2018-09-30 00:23:30 +08:00   ❤️ 7
    @SingeeKing
    并不是抖机灵,理论上 halt 是停止用户进程关闭 cpu,风扇继续转,显示器发光发热。而 poweroff 是断电。而 shutdown 这个命令在 reboot,halt,poweroff 的基础之上,添加了 wall message(让连接的用户准备洗洗睡,系统要自杀了)和一些其他功能。然而实际上难以一言概之

    首先,断电是伪概念,电脑不可能关闭自己,电脑实际上是让电源模组切断其他元件供电,不过插着插头光电源线就有负载,wakeonlan 也耗电,电源跳线也耗电。这些个东西都在机箱里头算不算电脑的耗电量呢?除非遥控机器人把自己插座拔了,但是这样机器人的电源谁来关呢?或者是去电系统,内燃机发条之类的拔插头。

    其次,关闭 cpu 停止进程这一功能并不是所有电源模组都支持的。有可能电源模组在设计之初就没有考虑过实现 halt 和 poweroff 这两个不同的功能。cpu 供电虽然是独立的,但是设计出自由断通的功能并不是必须的。

    第三,主板芯片上规范也不同。LinuxAPM 模块的前提是 bios 支持,还不支持待机休眠。ACPI 同理。

    最后,操作系统层级上,发行版的定义也有所不同:Many people use poweroff or reboot as aliases to the shutdown command since they can type less. Technically they are aliases to the halt command which sees that you're not at run level 0 or 6 and calls shutdown anyway. https://wiki.debian.org/OffAndOnAgain 这是 debian 的解释。

    有人试过 halt 之后笔记本还在上电状态,可以算是 halt 在 2012 依旧存在的证据吧 https://bbs.archlinux.org/viewtopic.php?id=153802。可能世上真的有人想只把 cpu 关了把电脑当电风扇吹的人吧…………说实话,关心电脑开不了机这件事比关心电脑关不了机要正常多了。
    SingeeKing
        10
    SingeeKing  
       2018-09-30 00:34:21 +08:00
    @liwufan #9 不不不,我指的是 2# 6# 这样的,他们完全没有回答楼主问题一副「自己看文档」的样子,却没有发现楼主是看了文档后依然有疑问才问的
    ryd994
        11
    ryd994  
       2018-09-30 02:37:17 +08:00 via Android   ❤️ 2
    @SingeeKing 那就是标准的 Linux 社区态度:rtfm
    如果你已经 rtfm 的话,你的问题里应该包含你 troubleshoot 的经过
    henglinli
        12
    henglinli  
       2018-09-30 05:53:37 +08:00 via iPhone
    突然梦见自己养的狗狗被杀,吓醒了。
    当用上 systemd 时,会发现关机类命令是 systemd 的链接。
    我用的发型版 init 是可选择的,可能和其他发行版有出入。
    记得很久之前( 8 年吧),我用 gentoo 关机一直是 halt。我现用 poweroff。
    xuanbg
        13
    xuanbg  
       2018-09-30 06:49:21 +08:00
    这个命令是有历史原因的,因为早期的电脑硬件并没有现在这么友好。。。

    大概你可以理解为关闭操作系统和关闭电脑的区别吧。想深入了解,去看文档,不过个人感觉毫无必要。有些东西已经无用了,了解它们的历史,也就能增加你的谈资而已,并不能增加你的知识。
    oeagut
        14
    oeagut  
       2018-09-30 09:18:26 +08:00 via iPhone
    没仔细研究,一直用 shutdown -h 关机,shutdown -r 重启。听别人说 reboot 容易搞坏机器...
    est
        15
    est  
       2018-09-30 09:32:42 +08:00
    其实这就是 linux 难用的地方,非得把历史遗留的问题代入现代命令中。
    dot2017
        16
    dot2017  
       2018-09-30 09:33:40 +08:00
    @oeagut reboot 貌似是直接 kernel 重启,不会执行通知
    liwufan
        17
    liwufan  
       2018-09-30 10:43:09 +08:00
    @est Linux 和 ibm-pc 硬件规范兼容不代表他必须好用。这事和 MacBook 装 Windows 一样。Linux 也有为自己设计的硬件,安卓用户应该不会对关机这事犯愁吧?
    sunsmooth
        18
    sunsmooth  
       2018-09-30 13:56:43 +08:00
    我一直都是 init 0 关机。init 6 重启。
    ooonme
        19
    ooonme  
       2018-09-30 17:08:22 +08:00
    @sunsmooth 学习了,刚手贱试了一下,把 vps 给关机了,又得上去起一堆服务
    tonzeng
        20
    tonzeng  
       2018-10-06 12:30:31 +08:00
    linux。。有问题找 man 人啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1108 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:50 · PVG 02:50 · LAX 10:50 · JFK 13:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.