知识储备


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 档案里