Linux shutdown命令

SSH远程连接虚拟机的Ubuntu,使用完毕想要关机时调用命令

sudo shutdown now

后,提示“The system is going down for maintenance NOW!”,并且连接断开。本以为关机完毕,然而过一会儿回到虚拟机里发现并没有完全关机,停留在下面界面:

按Control+D后出现下面的提示,一直不动:
Linux shutdown命令_第1张图片

网上查资料发现,shutdown now并不能完全关机,需要使用-h选项关闭电源,或简单调用halt或poweroff命令:

sudo shutdown -h now
sudo halt
sudo poweroff

这样就能关闭电源,实现彻底关机了。

Linux有三个常用的关机命令,下面是它们的区别:

  • shutdown以一种安全的方式关闭系统。所有登陆用户都可以看到关机信息提示,并且 login 将被阻塞。可以指定立刻关机,也可以指定系统在一定的延时后关机。所有进程都将接收到 SIGTERM 信号。这可以使 vi 等程序有时间将处于编辑状态的文件进行存储,邮件和新闻程序进程则可以将所有缓冲池内的数据进行适当的清除等等。 shutdown 通过通知 init 进程,要求它改换运行级别来实现。运行级别 0 用来关闭系统,运行级别 6 用来重启系统,运行级别 1 用来使系统进入执行系统管理任务状态,如果没有给出 -h 或 -r 标志时,这是 shutdown 命令的默认工作状态。
  • halt是最简单的关机命令。其实halt就是调用shutdown -h。halt执行时会杀死应用进程,执行sync系统调用,文件系统写操作完成后就会停止内核。
  • poweroff在关闭计算机操作系统之后,最后还会发送ACPI指令,通知电源,最后切断电源供应,当然路由器等嵌入系统不支持ACPI的,所以这个无效。

你可能感兴趣的:(linux,ubuntu)