“停止”和“立即关闭”之间的区别?


30

Ubuntu一台远程服务器sudo -S -p '' halt用于关机,直到最后都无法使用。监视器保持打开状态

现在将停止

[22225.11163]暂停

sudo -S -p " halt 和之间有什么区别sudo shutdown now

Answers:


41

-S-p开关,用于sudo在这种情况下并不重要。他们分别是这样做的。

-S开关使sudo从stdin读取密码。例如,这允许将密码sudo通过echo或传递到cat

-p开关允许您覆盖默认的密码提示,并使用自定义的密码提示,或完全不使用。


重要的区别在于发出的两个命令sudo

halt如果在不使用-p开关的情况下调用该命令,则仅停止操作系统并停止所有CPU。一旦系统完全停止运行,用户就可以安全地手动按下计算机上的电源按钮。

poweroffshutdown -h now以及halt -p命令所有做同样的事情作为halt单独,同时另外发送ACPI命令到信号电源单元到断开主电源。这样可以避免您必须物理按下计算机上的电源按钮。


9
shutdown -h now也不一定要关闭电源。按照man shutdown,它取决于系统。shutdown -H now(请注意的上限H)是保证等于halt
MestreLion 2012年

11

halt不是shutdown,它们是不同的命令。除非使用-p选件,否则前者不会关闭电源

在手册(man halt)中:“ -p,--poweroff:指示halt命令代替poweroff。”

而且,你的情况,-p不是在使用的halt命令,因此你的电脑是不是断电。

不要将此-p与from中的-p混淆sudo,它是不同命令的不同参数。来自man sudo

  • -S -S(stdin)选项使sudo从标准输入而不是从终端设备读取密码。密码后必须带有换行符。
  • -p prompt -p(提示)选项可让您覆盖默认的密码提示并使用自定义提示。

在您的情况下,prompt该字段为空(询问密码时不显示sudo消息),并且-S使sudo接受root密码vi stdin(因此可以使用管道提供密码,也可以使用其他命令重定向而不是键入密码)


7

Unix SE站点上有一个关于shutdownvs halt问题的好答案:Halt和Shutdown命令之间有什么区别?

至于sudo -S -p ''部分,这将删除有关在终端中询问密码的消息(尽管您仍然输入密码)

例如,运行sudo <some_command>将在运行此命令之前给出以下输出:

[sudo]密码:

但是跑步sudo -S -p '' <some_command>会隐藏该信息。

实际上,您在引号中添加的消息将替换先前的消息。

继续尝试以下操作,看看有什么不同:

 sudo -S -p 'Hey, I am a custom message.' ls

0

就用户意图而言,停止命令和关闭之间没有区别。两者之间的细微差别是,在暂停状态下,您必须方便地按下电源按钮以关闭系统,而在shutdown命令中,它将自动指示高级配置电源接口(ACPI)向电源单元发送信号以关闭系统。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.