Linux 系统关机过程
Linux 系统关机过程
(2011-02-15 08:56)
标签:
linux 关机 shutdown
分类: Linux
最常用的 Linux 关机命令用 init 、 shutdown 、halt 和 reboot
等。这些命令都可以达到关机重启的目的,但是每个命令的 内部工作过程是不同的。下面就详细了解 Linux 安全关机的 过程。
shutdown 命令 使用 shutdown 命令可以安全地关闭 Linux 系统,有些 Linux
初学者会使用直接关闭电源的方式来关闭 Linux ,真是十分 危险的,因为
Linux 与 Windows 不同,在 Linux 后台运行着很多进程,这 些进程控制着 Linux 对系统的各种操作,如果强制关机,可 能会造成进程的混乱以致丢失数据。如果在系统工作负荷很高的情况下突然断电,不 但会丢失数据,甚至会损坏硬件设备。
台匕shutdown 命令是用 shell 编写的程序, 必须由超级用户才能 执行。 shutdown 命令执行后,会以广播的形式通知正在系 统中工作的所有用户,系 统将在指定的时间内关闭。请保存文件,停止作业,注销用 户。此时 login 指令被冻结,新的用户不能登录。当所有的 用户从系统中注销或者指定时间已到 时, shutdown 就发送信号给 init 程序,要求 init 程序改变系 统运行级别。 接着, init 程序根据 shutdown 指令传递过来的 参数,相应地 改变运行级。 例如, shutdown 指定的参数是关机命令的话,
台匕
init 程序就执行 init 0 进行关机;如果 shutdown 指定的参数是要重启系统, init
程序就执行 init 6 进行系统重启。
1) shutdown 命令的详细语法如下:
shutdown [-fFhknc( 参数名称 )] [-t 秒数 ] 时间 [警告信息 ]
各参数含义如下。
-k:只是送-f :重启系统时不执行fsck。-F :重启时执行fsck。-h :将 系统关闭,在某种程度上功能与 halt
-k:只是送
出信息给所有用户,但不会真正关机。 -n: 不调用 init 程序关
机,而是由 shutdown 自己进行(一般关机程序是由 shutdown
调用 init 来实现关机动作的) ,使用此参数将加快关机速度,
但是不建议用户使用此种关机方式。-r :shutdown 之后重新启动系统。 -c :取消一个 shutdown个“ shutdown-h15:30 ”的命令时,只要按“ Ctrl+C ”组合键就可以中断关机的命令;而执行如“ shutdown-h 15:30&”的命令时,就将shutdown转到后台运行了,此时就需要用“ shutdowrhc
但是不建议用户使用此种关机方式。
-r :shutdown 之后重新
启动系统。 -c :取消一个 shutdown
个“ shutdown-h
15:30 ”的命令时,只要按“ Ctrl+C ”
组合键就可以中断关机的命
令;而执行如“ shutdown-h 15:30
&”的命令时,就将shutdown转到后台运行了,
此时就
需要用“ shutdowrhc”将前一个shutdown命令取消。
-t< 秒
数>:送出警告信息和关机信号之间要延迟多少秒。
[时间 ]:
设置多久后执行 shutdown命令。时间参数有 hh:mm或+m
两种模式。 hh:mm 格式表示在几点几分执行 shutdown 命令。
例如“ shutdown
16:50 ”表示将在16:50 执行 shutdown , +m 表示 m 分钟后执
行 shutdown 。比较特别的用法是以 now 表示立即执行
shutdown 。
值得注意的是这部分参数不能省略。[警告信息 ]:要传送给
所有登录用户的信息。
2)应用举例
要立即关机重启: shutdown -r now
要立即关机: shutdown -h now
设定 5 分钟后关机,同时发出警告信息给登录用户:
shutdown +5 "System will shutdown after 5 minutes"
halt 命令
halt是最简单的关机命令,相当于“shutdown”组合。halt'
执行时,将杀死所有应用程序, 然后调用系统指令sync osync
执行时,将杀死所有应用程序, 然后调用系统指令
sync osync
将所有内存信息通过文件系统写入硬盘,然后停止内核。
halt 语法格式如下:
halt [-finp] halt 指令在执行时,会首先检测系统的运行级别,如果运行 级为 0 或 6,则立即关闭系统