您的位置:首页 > 其它

[8-20]关机命令shutdown、halt、poweroff、reboot小结

2015-08-22 14:37 369 查看
知识储备1. 关机≠关闭电源,关机时电源本身并没有彻底断电,而维持了一个微弱电流。这个电流增加了电源管理功能可以让操作系统直接对电源进行管理,若操作系统实现软关机,那么通过网络就可以实现远程开机[当然硬件需要硬件支持];2. 一旦开启了关机命令,那么会在后台运行关机进程,当条件满足时[到达指定时间],关机进程通过一系列调用执行关机;
3. 关机我们应该注意这几点:
有没有告知用户关机,有没有提示信息;

能不能新用户登陆;

未保存的数据操作系统怎么处理;

关机后,电源怎么处理;

所谓的shutdown、halt、reboot、poweroff的区别只不过是针对这几点处理方式不同罢了。

Shutdown命令shutdown以一种安全的方式关闭系统。所有登陆用户都可以看到关机信息提示shutdown本质是通知Init进程,要求它改变runlevel来实现。Usage:
shutdown [OPTION]... TIME [MESSAGE]
常用选项:-r 关机后执行重启,先关机后重启
#shutdown -r now            立刻关机重启
-h, -H, -P 都是执行关机命令,但三者有区别
#shutdown -h +30 	    延迟30分钟后关机         halt or power off after shutdown
#shutdown -H now	    立刻执行关机  now等于+0  halt after shutdown (implies -h)
#shutdown -P 15:20	    下午15:20分执行关机      power off after shutdown (implies -h)
-k 警告但是并不关机
#shutdown -k                只是警告,但是不真正去执行关机


-c shutdown本质上在后台会运行这个进程,该进程可取消
#shutdown -c     	    取消后台运行shutdown进程
TIME说明:
必须指定TIME,即执行shutdown命令的时间[只有当取消shutdown命令时候不指定时间]
TIME格式大致有2种
<1>绝对时间:即hh:mm格式
<2>相对时间:即+m格式,从当前延时m分钟关机,请注意shutdown -h now中的now等于+0

Halt命令江湖人称最简单的关机命令,但是没有shutdown那么安全。本事是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用,文件系统写操作完成后就会停止内核。Usage:
halt [OPTION]...
常用选项:无参数 调用shutdown -h执行关机
#halt                       调用shutdown -h 杀死进程,执行sync系统调用[同步],文件系统写完成后关闭Kernel
-n, --no-sync 不执行sync系统调用就关机
#halt -r                    立刻关机,不同步临时数据到磁盘
#halt --no-sync             同上
-f, --force 用自己的关机方式,不去调用shutdown -h
#halt -f 	            强制关机,不去调用shutdown,未保存的数据会丢失
#halt -force	            同上
-p 关机后关电源
#halt -p 	            关机后顺便关闭电源,请注意缺省会带-p
-w “假关机”
#halt -w 	            并不会真的关机,只是把记录写到 /var/log/wtmp 档案里
Poweroff命令
Poweroff基本和halt一致,不过使用poweroff会关机后并且切断电源。poweroff在关闭计算机操作系统之后,最后还会发送ACPI指令,通知电源,最后切断电源供应,当然路由器等嵌入系统不支持ACPI的,所以这个无效。Usage:
power [OPTION]...
常用选项:基本参数同halt,再此不再赘述,补充2个小参数
#power -i                   关闭所有网络接口,然后关机,关电源
#power -h                   关闭操作系统之前将系统中所有的硬件设置为备用模式
Reboot命令
Reboot基本和halt一致,不过他是重启动作。功能是重新启动Usage:
reboot [OPTION]...
常用选项:基本参数同halt,再此不再赘述,补充2个小参数
#reboot -i                  关闭所有网络接口,然后重启
#reboot -w                  假重启,并不会真的重启,只是把重开机数据写到 /var/log/wtmp 档案里
本文出自 “蓝色仓库” 博客,请务必保留此出处http://bluebox.blog.51cto.com/8852456/1687056
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: