没有操作系统是完美的。 即使是这样,驱动程序和应用程序也可能存在问题。 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 的自动化应用程序。