在linux下关机和重启系统有shutdown、halt、reboot、init,对于他们来说他们的内部工作过程是不相同的。
1、shutdown命令
使用它可以安全地关闭系统,然而在关闭系统时,会通知所有登录的用户系统将要关闭,并且所有的指令都将会被冻结,即所有的新用户不能再登录,使用该指令将会出现立即关闭或重启以及延迟一段时间关闭或重启。(注意:只有超级用户才能使用该命令)
命令语法格式:
shutdown [选项] [时间] [警告信息]
该命令中各选项的含义说明:
-k: 只是发出警告信息给用户
-r: 关闭系统后重启系统
-h: 关闭系统后不重启系统
-f: 快速关闭系统,但是是重启系统时不进行磁盘检测(在实验时发现系统进入bios界面,但是不能进行任何操作)
-n: 快速关闭系统,但是不经过init程序关闭
-c: 中断关闭系统(没有找到具体怎么实验)
2、halt命令
使用halt命令就是调用“shutdown -h”命令来执行关闭系统
命令语法格式;
halt [选项]
-w: 并不是真正的关闭系统,只是写“wtmp”(/var/log/wtmp)记录
-d: 不写“wtmp”
-f: 没有调用“shutdown”而是强制关闭
-i:关闭系统或重启系统前,关闭所有的网路uo接口
-p:该选项为缺省选项,关闭系统时调用“power off”
3、reboot命令
reboot命令的工作过程与halt命令相似,但是reboot是引发主机重启。它所有的参数与“halt”相似。
4、init命令
init命令运用系统的运行级别控制系统。它是所有系统的进程的祖先,它的进程号始终是1,所以发送“TERM”信号给init会终止所有用户进程和守护进程等,“shutdown”即就是使用这种机制。init 0为关闭系统,init 1为重启系统。
原文地址:http://blog.csdn.net/winnerspring/article/details/29015579