从命令行关闭 Linux 计算机的 5 种方法

没有操作系统是完美的。 即使是这样,驱动程序和应用程序也可能存在问题。 Linux 也不例外。 尽管比 Windows 更稳定(在许多情况下,不是全部!),但您可能需要重新启动 Linux 计算机。 这可能是因为某些东西不起作用。 或者,您可能通过 SSH 连接到远程计算机或服务器,并希望它完全重新启动或关闭。

但是你怎么能这样做呢? 有几个命令可供您通过命令行关闭或重新启动(或重新启动)Linux 计算机。

让我们依次看看它们,并检查应该如何以及何时使用这些命令。

1. 关机

如果您已经完成了 Linux 机器的使用,简单地关闭它的解决方案是使用通过 SSH 发送的关闭指令(如果您使用的是 Windows PC,则有多种 SSH 工具可供选择)。 这可用于永久关闭计算机(直到您决定重新启动它)或重新启动。 该命令的语法是:

shutdown [option] [time] [message]

例如,要立即关闭计算机,您可以使用:

shutdown -h now

在这里, -H 意味着暂停 现在 明确表示该指令应立即执行。 可以使用不同的延迟。 例如,您可以使用 +5 相反,它将告诉计算机在五分钟内运行关机程序。

如果您想包含一条消息,这将显示给所有登录的用户:

shutdown -h +5 "The server is shutting down, please save your work and log off."

请记住,您可以通过输入以下命令找到这些命令的完整开关列表:

[command] --help

重启 -r

另一种选择是使用 -r 命令以重新启动计算机。 这用于代替 -H,因此要重新启动计算机或服务器,您可以使用:

shutdown -r +5 "The server is restarting in five minutes, please save your work and log off."

任何计划的关机或重启都可以通过输入 -C 取消命令:

shutdown -c

2.重启

由于关闭命令具有重新启动选项,因此得知重新启动命令具有关闭选项也就不足为奇了。

图片来源:Anton Khegay,来自 Shutterstock

标准的重启命令是:

reboot

这将提示您的计算机自行关闭,然后重新打开。 但是,如果您想关闭设备,那么 -p 开关将起作用:

reboot -p

另一种选择是强制重启。 如果应用程序或服务挂起并且您需要快速重启,这会很有用:

reboot -f

这会强制重启你的 Linux 机器。

3. 暂停

我们已经看到了 -H 在上面切换,但停止可以单独用作命令。 这将导致计算机立即关闭,用一个简单的四个字母单词:

halt

-F switch也可以和halt一起使用,但是结果不一致,会导致系统稳定性问题。

4. 关机

您可能更喜欢 关机 命令。 这与停止完全相同,只是键入时间要长两倍。

但是,除了使用 -F 要强制关机,您还可以使用 -w 切换到记录系统重启调用 /var/log/wtmp. 这是一个潜在有用的调试工具 –详细,这可以帮助解决关机问题。

poweroff --verbose

5. 紧急选项:REISUB

以上所有命令都可以在系统运行没有任何问题的情况下使用。 但是如果它崩溃了怎么办? 如果 PC 或服务器挂起,并且无法以合适的方式重新启动怎么办?

那么答案就是键盘组合。 如果你从 Windows 切换过来,你可能知道 Ctrl + Alt + Del 显示一个菜单 关闭 作为一种选择。 如果长时间保持,机器将自动关闭。 与此同时,在 Mac 上,您只需按住电源按钮(该选项也适用于 Windows 硬件)。

图片来源:JanHetman via Shutterstock

在 Linux 中,键盘组合是 Alt + 打印屏幕 + B 重新启动。 但是,如果这不起作用,或者存在更复杂的问题,您可以更改组合,最多使用六个键。

由于以下强制首字母缩写词,这被称为 REISUB:

  • 联合国Raw — 从 X 显示服务器取回对键盘的控制权。
  • rminate — 向所有进程发送终止信号 SIGTERM,以优雅地终止。
  • ķ一世ll — 同上,但是 SIGKILL 信号,它强制立即终止进程。
  • 小号sync — 将数据刷新到磁盘。
  • ünmount — 这会将所有文件系统重新挂载到只读状态。
  • 关于oot——正如你所料。

要完成这项工作,您应该按住 Alt + 打印屏幕,然后按该顺序排列 REIS UB 键。 在每次按键之间留一两秒钟。 请注意,此方法通常不适用于具有 ARM 架构的机器(例如 Raspberry Pi)。

求助,我不小心关闭了我的 Linux PC 或服务器!

我们已经了解了如何取消关闭或重新启动命令。 然而,当一个重要进程正在运行时,很容易发现自己启动了一个关闭命令——尤其是在远程服务器上。 解决这个问题的一种方法是安装 molly-guard,它可以通过检查某些参数来覆盖关闭。

例如,有一个脚本可以检查 SSH 会话(不同于 FTP)。 如果您发送重启、停止、关机或关机命令,molly-guard 将要求您提供您要访问的主机的名称 close.

要使用它,请在终端中安装 molly-guard:

sudo apt-get install molly-guard

由于 molly-guard 在后台运行,它会检测到一个命令,例如 关机 并报告已检测到 SSH 会话。 然后您可以选择输入服务器的主机名以确认关闭,或按 Ctrl + C 取消。 有用!

从命令行关闭 Linux 计算机的这五种方法特别有用,因为它们可以在计算机本身上使用,也可以通过远程 SSH 使用。 由于这些命令非常简洁,因此它们可以快速使用——这可能会不时导致意外重启! 幸运的是,molly-guard 实用程序足以避免这种情况。

要了解更多 Linux 命令,请查看我们的参考备忘单。 如果您想自动化这些命令中的任何一个,请查看这些适用于 Linux 的自动化应用程序。