目录
运行级别
shotdown
原理
shutdown命令语法
应用举例
halt
原理
hatl命令语法
reboot
init
shutdown命令是用shell编写的程序,必须由超级用户才能执行。shutdown命令执行后,会以广播的形式通知正在系统中工作的所有用户,系统将在指定的时间内关闭。请保存文件,停止作业,注销用户。此时 login 指令被冻结,新的用户不能登录。当所有用户从系统中注销或者指定时间已到时,shutdown就发送信号给init程序,要求init程序改变系统运行级别。接着,init程序根据shutdown指令传递过来的参数,相应地改变运行级别。例如,如果shutdown指定的参数是关机命令,init程序就执行init 0进行关机;如果shutdown指定的参数要重启系统,init程序就执行init 6进行系统重启。
shutdown [-fFhknrc(参数名称)] [-t 秒数] 时间 [警告信息]
各参数含义如下。
-f:重新启动时不执行fsck。
注意
fsck是Linux下一个检查和修复文件系统的程序
-F:重新启动时执行fsck。
-h:将系统关机,在某种程度上功能与halt命令相当。
-k:只是发送信息给所有用户,但并不会真正关机。
-n:不调用init程序关机,而是由shutdown自己进行(一般关机程序是由shutdown调用init来实现关机动作的),使用此参数将加快关机速度,但是不建议用户使用此种关机方式。
-r:shutdown之后重新启动系统。
-c:取消前一个shutdown命令。例如,当执行一个如“shutdown
-h 15:30”的命令时,只要按Ctrl+C组合键就可以中断关机的命令;而执行如“shutdown -h 15:30&”的命令时,就将shutdown转到后台运行了,此时就需要使用“shutdown -c”将前一个shutdown命令取消。
-t:发送警告信息和关机信号之间要延迟多少秒。警告信息将提醒用户保存当前进行的工作。
[时间]:设置多久时间后执行shutdown命令。时间参数有hh︰mm或+m两种模式。hh∶mm格式表示在几点几分执行shutdown命令。例如,“shutdown 16︰50”表示将在16∶50执行shutdown,+m表示m分钟后执行shutdown。比较特别的用法是以now表示立即执行shutdown。值得注意的是,这部分参数不能省略。
[警告信息]:要传送给所有登录用户的信息。
要立即关机重启,具体的命令如下。
shutdown–r now
要立即关机,具体的命令如下。
shutdown–h now
设定5分钟后关机,同时发出警告信息给登录的Linux用户,命令如下。
shutdown +5 "System will shutdown after 5 minutes"
halt是最简单的关机命令,相当于“shutdown –h”组合。执行halt时,将终止所有应用程序,然后调用系统指令sync(强制把内存中的数据写回硬盘,以免数据的丢失)。sync将所有内存信息通过文件系统写入硬盘,然后停止内核。
halt的语法格式如下。
halt [-finp]
halt指令在执行时,会首先检测系统的运行级别,如果运行级别为0或6,则立即关闭系统,否则调用shutdown来关闭系统。
参数含义如下。
[-f]:不管当前系统处于何种运行级别,都不调用shutdown而强
制关机。
[-i]:关机之前,关掉所有的网络接口。
[-n]:halt执行时,不调用系统指令sync。
[-p]:关机时调用poweroff,也就是关机的同时关闭电源。此选项为默认选项。
reboot命令的执行过程与halt基本类似,不同的是halt用于关机,而reboot用于关机后系统重启。
init程序主要用于系统不同运行级别之间的铁环,切换的工作是立即完成的。例如:init 0就是将系统运行级别切换到0,也就是关机;init 6命令用于将系统运行级别切换到6,也就是重启系统。