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

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

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

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

1、关机

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

shutdown [option] [time] [message]

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

shutdown -h now 

这里,-h表示暂停,而现在明确表示该指令应立即执行。 可以使用不同的延迟。 例如,您可以使用+9代替,这将告诉计算机在9分钟内运行关机程序。

如果你想包含一条信息,这条信息将会显示给所有已登录的用户:

linuxidc@linuxidc:~/linuxidc.com$ shutdown -h +9 "服务器正在关闭,请保存您的工作并注销。"  

Shutdown scheduledfor Sun 2019-04-28 10:37:30 CST, use 'shutdown -c' to cancel. 


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

[command] --help 

用-r重新启动

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

linuxidc@linuxidc:~/linuxidc.com$ shutdown -h +3 "服务器将在在3分钟后重新启动, 请保存您的工作并注销。"  

Shutdown scheduledfor Sun 2019-04-28 10:49:38 CST, use 'shutdown -c' to cancel. 


可以通过输入shutdown -c命令取消任何计划的关闭或重新启动:

linuxidc@linuxidc:~/linuxidc.com$ shutdown -c 

2、重新启动

由于shutdown命令具有重启选项,因此了解reboot命令有关闭选项也就不足为奇了。

标准的重启命令是:

reboot 

这将提示您的计算机自动关闭,然后再重新打开。然而,如果你想关掉设备,那么-p开关将工作:

reboot -p 

另一种选择是强制重启。如果应用程序或服务正在挂起,而您需要快速重启,这将非常有用:

reboot -f 

这将强制重新启动Linux机器。

3、Halt

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

halt 

-f开关也可以用于暂停,但结果不一致,并且可能导致系统稳定性问题。

4、定时关机

您可能更喜欢poweroff命令的术语。这与halt完全相同,只是它需要两倍的输入时间。

但是,除了使用-f强制关机外,还可以使用-w开关将系统重启调用记录到/var/log/wtmp。这是一个潜在有用的调试工具,就像-verbose一样,它可以帮助解决关机问题。

poweroff --verbose 

5、紧急选项:REISUB

当系统运行正常时,可以使用上面的所有命令。但如果它崩溃了呢?如果PC或服务器正在挂起,无法以合适的方式重新启动,该怎么办?

答案就是键盘组合。如果您已从Windows切换,您可能知道Ctrl + Alt + Del会显示一个菜单,其中包含Shutdown作为选项。如果保持更长时间,机器将自动关闭。同时,在Mac上,您只需按住电源按钮(也适用于Windows硬件的选项)。

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

这就是所谓的REISUB,是取以下词语的缩略语:

unRaw - 从X显示服务器控制键盘。

tErminate - 将终止信号SIGTERM发送到所有进程,以便正常终止。

kIll - 如上所述,但SIGKILL信号强制立即终止进程。

Sync - 将数据刷新到磁盘。

Unmount- 这会将所有文件系统重新装入只读状态。

reBoot - 正如您所期望的那样。

要使其起作用,您应按下Alt + Print Screen,然后按顺序按下R E I S U B键。 在每个按键之间留一两秒。 请注意,此方法通常不适用于具有ARM体系结构的计算机(例如Raspberry Pi)。

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

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

例如,有一个脚本检查SSH会话(与FTP不同)。如果您发送重新启动、停止、关机或关机命令,molly-guard将要求您要关闭的主机的名称。

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

linuxidc@linuxidc:~/linuxidc.com$ sudo apt-get install molly-guard 


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

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

觉得不错请点赞支持,欢迎留言或进我的个人群855801563领取【架构资料专题目合集90期】、【BATJTMD大厂JAVA面试真题1000+】,本群专用于学习交流技术、分享面试机会,拒绝广告,我也会在群内不定期答题、探讨。

你可能感兴趣的:(从命令行关闭Linux计算机的5种方法)