linux的操作系统大多运用在服务器上,很少遇到关机的操作。除非特殊情况下,不得已才会关机。
正确的关机流程为:sync(将数据由内存同步到硬盘中) > shutdown > reboot > halt
关机指令为:shutdown ,也可以通过 man shutdown 命令查看帮助文档。
使用shutdown命令将系统关机,系统管理员会通知所有登录的用户系统将要关闭。 并且login指令会被冻结,即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的,还可能重启系统。这是由所有进程【process】都会收到系统所送达的信号【signal】决定的。这让像【vi、vim】之类的程序有时间储存目前正在编辑的文档。而像处理邮件【mail】和 新闻【news】的程序则可以正常地离开等等。shutdown的工作是将信号【signal】传递给init程序,要求它改变系统的运行级别【runlevel】。
System V init运行级别 |
systemd目标名称 |
systemd 目标作用 |
0 |
poweroff.target |
关机 |
1 |
rescue.target |
单用户模式 |
2 |
multi-user.target |
多用户的文本界面 |
3 |
multi-user.target |
多用户的文本界面 |
4 |
multi-user.target |
多用户的文本界面 |
5 |
graphical.target |
多用户的图形界面 |
6 |
reboot.target |
重启 |
emergency |
emergency.target |
救援模式 |
reboot | 立刻重启 |
init 0 | 立刻关机 |
halt | 立刻关机 |
poweroff | 立刻关机 |
shutdown –h now | 立刻关机(定时关机) |
shutdown –h 2:00 | 今天2:00关机(定时关机) |
shutdown –h +10 | 10分钟后关机(定时关机) |
shutdown –r now | 立刻重启(定时重启) |
shutdown –r +10 | 10分钟后自动重启(定时重启) |
shutdown -c | 取消重启 |