目录

Linux正确的关机姿势

一、前言:

  • 系统的关闭如果姿势不正确,会产生怎样的问题呢?
  • 总所周知,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 为我们要发出的通知或者警告