一、前言:
系统的关闭如果姿势不正确,会产生怎样的问题呢?
总所周知,UNIX/linux采用异步写和延迟写的机制,大部分数据操作都在缓冲区内进行,并没有实时写入设备,因为这种机制,如果我们强行关闭系统会导致什么后果呢?
轻微的会造成数据丢失,严重点会造成系统瘫痪。真的有这么恐怖么?当然,我们还是非常推荐大家去尝试尝试的。
那么正确的关机姿势该如何摆呢?
在切断店员之前,我们应该先关闭系统,绝不要直接断电。
二、常用关机指令
以下为字符界面下常用的关机/重启命令有shutdown、halt、reboot、poweroff、init,他们都可以达到关闭系统的目的,但是每个命令又有其独特的使用场景。
1、halt命令
功能:关闭系统,在执行过程中,终止所有的应用程序和系统进程,将所有数据写入存储介质,最后关闭系统。
语法:halt [-f][-p]
参数解析:-f用于不调用shutdown,也就是强制快速关机或者重启;-p用于在关闭系统时关掉电源。
所以一般我们使用 halt -p ;-f小编是不建议使用的。
2、reboot
功能:与halt类似,其在关闭系统后自动重启
reboot就没有参数了,功能比较专一,相信很多接触过linux的小伙伴都比较熟悉。
3、poweroff
功能:功能等同halt -p,关闭系统时关闭电源
poweroff也不带参数,小编比较喜欢使用其关闭系统。
4、init
说到init就要联系到linux的启动原理了。这里就不深入了,感兴趣的小伙伴可以度娘或者google一下。
功能:linux系统内运行着一个init进程,其负责系统的初始化和进程运行级别的切换,通过init关闭系统正式借用了其切换运行级别这一特性。
Linux/UNIX下有7个运行级别(参考/etc/inittab)
0:关闭系统
1:单用户模式
2:多用户模式,没有NFS功能
3:完全多用户模式
4:没有使用,供用户自定义
5:完全多用户模式,支持图形化洁面X-Windows,帶桌面功能的linux的默认运行级别
6:重新启动
语法:init runlevel
5、shutdown
shutdown这命令我是比较喜欢的,因为其能干很多的事情
功能:1、shutdown可以安全关闭系统;2、指定关闭时间点;3、执行延迟多长时间关闭系统;4、关闭前给正在使用该系统的用户发送通知或者警告
语法:shutdown [-krhtFc] time [warn_msg]
参数解析:
-t sec:发送通知信息时间间隔,单位s
-r:重启系统
-h:关机后关闭电源
-k:只发送警告信息不关机
-c:取消正在执行的关机程序
time:可以以hh:mm格式指定具体的关机时间,也可以与+time的形式指定延迟的时间,+0或者now表示现在
warn_msg 为我们要发出的通知或者警告
@著作权归作者所有,转载请联系作者 用心写好每一篇文章