问题描述
当我发出以下内容时:
sudo shutdown now
..我新委托的Ubuntu 14.04服务器没有关闭。它会停止并显示以下消息:
* Stopping System V runlevel compatibility
Give root password for maintenance:
(or type Control-D to continue):
如果我输入root密码,机器只会在shell提示符处。
最佳解决方案
传统上,命令sudo shutdown now
将带您进入运行级别1(恢复模式);这将发生在Upstart和SysV init上。要获得所需的功能,即正确关闭计算机,您需要将-h
切换到shutdown
。
这里需要注意的一点是,halt
将关闭所有进程,关闭CPU并将控制器返回到主板的ROM监视器,需要用户按下电源按钮才能关闭电源,而poweroff
则关闭后CPU只会关闭电源,导致正常关机。
shutdown
的-h
开关将是halt
或poweroff
的计算机,系统决定虽然在Ubuntu中我已经看到它通常是poweroff
的机器。为了确保这一点,您可以将-P
开关与shutdown
一起用于poweroff
计算机。
总而言之,以下是poweroff
(不是halt
)计算机可用的命令:
sudo shutdown -h now
sudo shutdown -P now
sudo poweroff
sudo halt -p
sudo init 0
poweroff
和halt
命令基本上调用shutdown
(poweroff -f
除外)。 sudo poweroff
和sudo halt -p
与sudo shutdown -P now
完全相同。命令sudo init 0
将带您进入运行级别0(关闭)。
现在如果你想强行关闭,即你不想等待进程正常关闭怎么办?在这种情况下,您可以使用:
sudo poweroff -f
这不会使用shutdown
。相反,它将调用reboot(2)
系统调用(用于重启,关机和暂停)以立即关闭计算机。
次佳解决方案
我很确定正确的命令需要包含”-h”选项(停止)。尝试这个:
sudo shutdown -h now
第三种解决方案
这是物理机无法自动断电的日子。例如,暂停命令sudo halt
终止所有程序并从RAM中卸载几乎所有程序,准备关闭电源。但是,如果您运行sudo halt -p
,它将执行所有操作,然后通知系统关闭电源,或者在shutdown
命令的情况下,您需要-a
选项,我相信,尽管我个人使用halt
。