Linux系统的关机、重启、睡眠(shutdown、reboot、halt、poweroff)
原创
©著作权归作者所有:来自51CTO博客作者董哥的黑板报的原创作品,请联系作者获取转载授权,否则将追究法律责任
-
前言:
- 1.在DOS年代,当你需要关闭计算机的时候,可能直接拔掉电源就可以。使用Windows系统的时候,长按住关机键就可以强制关机。
- 2.因为Windows(非NT内核)系统中,由于是单人假多任务的情况,即使你关闭了计算机,对其他人也不产生影响
- 3.但是Linux中,每个程序都是在后台执行。在背后,可能有很多人同时在你的主机上面工作(浏览网页、FTP传输文件等...),如果你直接关机,可能会造成意想不到的后果
- 4.因此,在Linux下面关机、重启、睡眠等都是非常需要注意的
- 5.下面的命令最好都以管理员(root)的身份进行
一、关机、重启前的准备
-
查看网络联机状态、后台可执行程序:
- 查看网络联机状态:netstat -a
- 查看后台执行的程序:ps -aux
- 查看一下这两样东西,可以让你稍微了解主机目前的使用状态
数据同步写入磁盘:sync
-
引入:
- 在计算机导论中曾提到过,我们的数据需要写入内存才能够被CPU处理。内存中的数据保存和读取时需要与硬盘进行沟通,但是硬盘和内存之间的读取速度会影响运行速度,因此有部分数据不会被直接读取到硬盘中,而是临时保存在内存中,到后面需要时,一次性读取到硬盘。
- 此时,如果你不小心造成非正常关机,导致内存中的部分数据还没有来得及读取到硬盘中,就会造成数据的丢失。后果不堪设想
- sync命令:
- sync命令的作用就是将内存中尚未更新到硬盘中的数据写入到硬盘,这个命令在关机或重启前多执行几次,比较好
- 目前的系统中,shutdown、reboot、halt等命令中都已经包含了sync这个程序的调用。不过,多了解一下还是比较好的
-
使用:
- 建议以管理员的身份进行命令执行(原因:一般用户身边更新到硬盘中的数据只有自己部分的数据,管理员的身份可以更新整个系统的数据)
- 将身份变为管理员:su -
- 数据同步到硬盘:sync
二、关机(shutdown)
-
介绍:若你在物理终端登录系统时,不论什么身份都能够执行关机操作。但是如果你使用远程管理工具(如通过pietty使用ssh服务来从其他计算机登录主机)就只有root的身份才可以进行关机
命令格式
-
基本格式:/sbin/shutdown [选项] [时间] [警告信息]
- 参数:
-k |
不是真的要关机,只是发出警告而已 |
-r |
将系统的服务听到之后就重新启动 |
-h |
将系统的服务停掉后,立即关机 |
-c |
取消已经在进行的shutdown命令 |
默认时间 |
若时间缺省,默认在1分钟之后关机 |
now |
立即执行 |
自定义时间 |
例如:20:25(在20:25进行关机,如果当前时间超过了20:25,则隔天关机) |
+时间 |
例如:+30(在30分钟之后关机) |
-
警告信息:关机时发出一些提示信息
-
演示案例:
- 立刻关机:shutdown -h now
- 系统将在20:25关机:shutdown -h 20:25
- 系统立刻重启:shutdown -r now
- 提示系统将在30分钟会后重启:shutdown -r +30 'The system will reboot'
- 仅发出警告,但不是真的关机:shutdown -k now 'The system will reboot'
三、重启和其他关机(reboot、halt、poweroff)
-
还有三个命令和关机重启有关:
-
reboot:重启
-
poweroff:系统关机
-
halt:系统停止,屏幕可能会保留系统已经停止的信息
- 这三个命令其实都差不多,根据自身情况与爱好选择使用
-
代码演示:
- 重启:sync; sync; sync; reboot
- 系统停止:halt
- 系统关机:poweroff
四、systemctl
-
介绍:目前系统中所有服务的管理的命令是:systemctl。这个命令相当复杂,在后面会详细介绍
- 我们前面所谈到的shutdown、reboot、poweroff、halt等其实都是调用systemctl这个命令
- 命令格式:
system [命令]
-
[命令]包括以下内容:只介绍与本片文章有关的命令
- halt:进入系统停止的模式,屏幕可能会保留一些信息(这与你的电源管理模式有关)
- poweroff:进入系统关机模式,直接关机
- reboot:直接重新启动
- suspend:进入休眠模式
-
例如:
- 系统重新启动:systemctl reboot
- 系统直接关机:systemctl poweroff
- 我是小董,V公众点击"笔记白嫖"解锁更多【Linux入门基础】资料内容。