Linux关闭和重启系统一般使用相同的命令可以实现。
  在Linux系统下常用在关机/重启命令有shutdown、halt、reboot和init,但每个命令的内部工作过程是不同的。
  1.shutdown命令
  Shutdown命令可以安全地关闭系统,有些用户会使用直接断电源的方式来关闭计算机,这是十分危险的。Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,在有的系统中甚至会损坏硬件设备。
  如果在系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login命令会被冻结,即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的,还可能重启。
  shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,此参数可以是一个精确的时间,也可以是从现在开始的一个时间段。精确时间的格式是hh:mm,表示小时和分钟,时间段由“+”和分钟数表示。系统执行该命令后,会自动进行数据同步的工作。
  (1)语法
  shutdown [选项] [时间] [警告信息]
  (2)选项说明
  -k:并不真正关机,只是发出警告信息给所有用户
  -r:关机后立即重新启动
  -h:关机后不重新启动
  -f:快速关机,重启动时跳过fsck
  -n:快速关机,不经过init程序
  -c:取消一个已经运行的shutdown[-time]:设定关机前的时间
  (3)例:立即关闭系统
  #shutdown –h now
  (4)例:定时45min后关闭系统
  #shutdown –h 45
  (5)例:重新启动系统,并发出警告信息
  #shutdown –r now“system will be reboot now!”
  2.halt命令
  其实halt命令就是调用“shutdown-h”命令执行的。
  (1)语法
  halt [选项]
  (2)选项说明
  -c:防止sync系统调用,它用在fsck修补根分区之后,以阻止内核用老版本的超级块覆盖修补过的超级块
  -w:并不是真正的重启或关机,只是写wtmp(/var/log/wtmp)记录
  -d:不写wtmp记录(已包含在选项[-n]中)
  -f:没有调用shutdown而强制关机或重启-I:关机(或重启)前,关掉所有的网络接口
  -p:
  该选项为缺省选项,即关机时调用poweroff
  (3)例:使用halt命令关机
  #halt
  Broadcast message from root(pts/4)….
  The system is going down for system halt now!
  3.reboot命令
  Reboot的工作过程与halt相似,不过reboot是引发主机重启,而halt是引发主机关机。它的参数与halt相似。
  (1)例:使用reboot命令重启计算机
  #reboot
  Broadcast message from root(pts/4)….
  The system is going down for system reboot now!
  4.init命令
  Init是所有进程的祖先,它的进程号始终为1,所以发送TREM信号给init会终止所有的用户进程和守护进程等。shutdown就是使用这种机制。init定义了7个运行级别,其中init0为关机,init为重启。