正确的终端关机方式是什么?

正确的终端关机方式是什么?

我试图通过 SSH 关闭我的电脑。我执行了

sudo shutdown now

用户已注销,Ubuntu 开始关闭,但它在最后一个屏幕上冻结,显示 Ubuntu 徽标和加载点。知道问题可能出在哪里吗?

shutdown另外,和有什么区别halt?还有哪些类似的命令?

答案1

来自手册页:

关闭- “关机安排以安全的方式关闭系统。所有登录用户都会收到系统即将关闭的通知,并且在最后五分钟内,将阻止新的登录。” 此处提到的时间是关闭用户指定的量。

- “这些程序允许系统管理员重新启动、停止或关闭系统。”

不同之处在于 Halt 在关机时比 Shutdown 本身更“激进”。它具有参数,可以强制系统关机,而不考虑服务或打开的程序。如果您运行 halt 而不带任何参数,它将只执行关机命令。类似于别名。如果您使用参数运行它,--force它将“强制”系统快速重启。

在暂停或关机的情况下,它们将等待所有进程正确完成,然后再关闭或重新启动 PC。如果服务或应用程序未关闭或未正确关闭,您将看到您在此处提到的内容(带点的 ubuntu 徽标)。

对于单用户或多用户来说,终端中的正确方法是关机。但如果关机不起作用,请检查您正在运行哪些服务以及哪个服务导致关机缓慢或冻结。

考虑到这一点,有几种方法可以重新启动或关闭系统:

重启- shutdown -rreboot

在这种情况下,重启只是调用shutdown -r

关闭- halt,,,,shutdownsudo init 0shutdown -h nowpoweroff

在这种情况下,poweroff与调用shutdown -P

正如您所注意到的,该shutdown命令可以执行很多操作,下面是其中的一个小列表:

-r  Requests that the system be rebooted after it has been brought down
-h  Requests that the system be either halted or powered off after it has been brought down, with the choice as to which left up to the system
-H  Requests that the system be halted after it has been brought down
-P  Requests that the system be powered off after it has been brought down
-c  Cancels a running shutdown. TIME is not specified with this option, the first argument is MESSAGE
-k  Only send out the warning messages and disable logins, do not actually bring the system down

就像reboot

-f, --force                 force reboot or halt, don't call shutdown(8)
-p, --poweroff              switch off the power when called as halt

但是,通过终端关闭和单击 Unity 中的“关闭”选项之间存在差异。后者将要求用户与任何未保存的工作进行交互(如 libreoffice、inkscape……)。前者只会向所有进程发送信号,告诉它们关闭。不需要用户交互,因此任何未保存的工作都将消失。

答案2

您需要做的是在计算机关闭后通过运行以下命令关闭计算机:

sudo 关机-P 20

答案3

关闭系统的另一个命令是

sudo init 0

init 0 调用所有关机脚本并正常关闭您的机器。

答案4

创建脚本:

#!/bin/bash 
shopt -s nocasematch
read -t 30 -N 1 -p 'Shutdown now? (Y/n) '
[[ "$REPLY" =~ n ]] || sudo poweroff

相关内容