一、关机/重启相关命令
将数据同步写到硬盘中:sync
惯用的关机指令:shutdown
重新启动,关机:reboot,halt,poweroff
切换执行等:init(0:关机;3:存文本模式;5:含有图形接口模式;6:重新启动)
二、数据同步写入磁盘:sync
在linux系统中为了加快数据读取速度,所以默认情况下,某些已经加载到内存中的数据将不会直接写回磁盘,而是先暂存在内存当中, 不过万一系统因为某些特殊的情况造成的不正常关机时,由于数据尚未被写入到硬盘中,就会照成数据更新不正常,这个时候就需要sync这个指令来进行数据写入动作,在shell中执行sync那么内存中尚未被更新的数据就会被写入硬盘,所以这个指令在系统关机或重启之前最好多执行几次。
虽然shutdown/reboot/halt等等指令均已经在关机前进行了sync呼叫,不过多执行几次总是比较放心。事实上sync也可以被一般账号使用,只不过一般账号用户所更新的硬盘数据仅有自己的,不想root可以更新整个系统中的数据。
三、惯用关机指令shutdown
shutdown只有root可以执行,shutdown可以完成如下工作:
1. 可以自由选择关机模式:关机、重启或进入单人操作模式
2. 可以设定关机时间:可以设定成现在立即关机,也可以是某一特定时间才关机
3. 可以自定义关机讯息:在关机前,可以将自己设定的讯息传给在先的user
4. 可以仅发出警告信息:有时要进行一些测试,而不想其他使用者干扰,或者是明白告诉使用者某段时间要注意一下,这个时候可以使用shutdow来吓一下使用者却不关机
5. 可以选择是否要fsck检查系统
命令格式:/sbin/shutdown [-t 秒] [-arkhncfF] 时间 [警告信息]
命令选项:
-t sec : 通知 init(8) 在转换到其它运行级别前,发送警告 (warning) 信号后 时(sec)秒数后再发送关闭 (kill) 信号。
-k : 不要真关机,只是发送警告讯息出去!
-r:在系统的服务停掉之后就重新启动
-h:将系统的服务停掉后就立即关机
-n:不经过init程序,直接shutdown来关机
-f:关机之后强制略过fsck的磁盘检查
-F:系统重启后强制fsck磁盘检查
-c:取消已经在进行的shutdown指令
时间:参数的格式可以有很多种。首先,可以是 hh:mm 格式的绝对时间,其中 hh 指 的是小时(一到二位数),mm 指的是分钟(二位数)。第二种是 +m 格式,其中m指的是等待的 分钟数。 now 是 +0 的别名。
常用示例:
[root@centos6 ~]# shutdown -h now #立即关机 [root@centos6 ~]# shutdown -h 10:00 #在10:00关机,如果现在是11:00,则在明天10:00关机 [root@centos6 ~]# shutdown -h +10 #10分钟后关机 [root@centos6 ~]# shutdown -r now #立即重启 [root@centos6 ~]# shutdown -r +10 "10分钟后重启系统" #10分钟后重启,并显示后面信息给所有在线的使用者 [root@centos6 ~]# shutdown -k now "10分钟后重启系统" #仅发出警告不会关机 [root@centos6 ~]# shutdown -c #取消准备执行的关机动作
四、重启,关机:reboot,halt,poweroff
halt其实就是调用shutdown -h;halt执行时,杀死应用进程,执行sync系统调用,文件系统写操作完成后就会停止内核。
reboot跟halt差不多,不过他是引发主机重启而halt是关机,他的参数和halt相差不多。
poweroff相当于halt
命令格式:
/sbin/halt [-n] [-w] [-d] [-f] [-i] [-p]
/sbin/reboot [-n] [-w] [-d] [-f] [-i]
/sbin/poweroff [-n] [-w] [-d] [-f] [-i]
命令选项:
-n 在关机或重启之前不对系统缓存进行同步。
-w 不真正重启或关机,而仅仅将关机信息写入 wtmp (在 /var/log/wtmp 文件里)。
-d 不记录此次关机情况。当使用 -n 参数时隐含 -d。
-f 强制执行 halt 或 reboot 而不去调用 shutdown(8)。
-i 在关闭或重启系统之前关闭所有网络界面。
-p 当关闭系统时执行关闭电源操作。当以 poweroff 方式调用 halt 时,此为缺省 参数
附:shutdown,halt,poweroff区别
shutdown :使系统关闭,参考一下现有的解释:“命令安全地将系统关机。 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的。因为linux与windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失﹐使系统处于不稳定的状态﹐甚至在有的系统中会损坏硬件设备。 而在系统关机前使用shutdown命令﹐系统管理员会通知所有登录的用户系统将要关闭。并且login指令会被冻结﹐即新的用户不能再登录。直接关机或者延迟一定的时间才关机都是可能的﹐还可能重 启。这是由所有进程〔process〕都会收到系统所送达的信号〔signal〕决定的。这让像vi之类的程序有时间储存目前正在编辑的文档﹐而像处理邮件〔mail〕和新闻〔news〕的程序则可以正常地离开等等”
而且shutdown会去执行 /etc/rc0.d/ 下面的脚本,也就是说会去执行runlevel 0 的脚本。 halt则不会。
poweroff: 切断系统电源
poweroff就是halt的软链接而已。执行的还是halt命令。关于halt 命令,可以这样理解:halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。