我试图通过 SSH 关闭我的电脑。我执行了
sudo shutdown now
用户已注销,Ubuntu 开始关闭,但它在最后一个屏幕上冻结,显示 Ubuntu 徽标和加载点。知道问题可能出在哪里吗?
shutdown
另外,和有什么区别halt
?还有哪些类似的命令?
答案1
来自手册页:
关闭- “关机安排以安全的方式关闭系统。所有登录用户都会收到系统即将关闭的通知,并且在最后五分钟内,将阻止新的登录。” 此处提到的时间是关闭用户指定的量。
停- “这些程序允许系统管理员重新启动、停止或关闭系统。”
不同之处在于 Halt 在关机时比 Shutdown 本身更“激进”。它具有参数,可以强制系统关机,而不考虑服务或打开的程序。如果您运行 halt 而不带任何参数,它将只执行关机命令。类似于别名。如果您使用参数运行它,--force
它将“强制”系统快速重启。
在暂停或关机的情况下,它们将等待所有进程正确完成,然后再关闭或重新启动 PC。如果服务或应用程序未关闭或未正确关闭,您将看到您在此处提到的内容(带点的 ubuntu 徽标)。
对于单用户或多用户来说,终端中的正确方法是关机。但如果关机不起作用,请检查您正在运行哪些服务以及哪个服务导致关机缓慢或冻结。
考虑到这一点,有几种方法可以重新启动或关闭系统:
重启- shutdown -r
,reboot
在这种情况下,重启只是调用shutdown -r
。
关闭- halt
,,,,shutdown
sudo init 0
shutdown -h now
poweroff
在这种情况下,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