Linux操作系统
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3 Linux系统的关闭与重启动

因为UNIX/Linux采用异步写和延迟写机制,大部分数据操作都在缓冲区内进行,并没有实时的写入设备,如果强行关机会导致数据丢失,严重者可造成系统瘫痪。因此,在切断电源之前必须首先关闭系统,绝不能断电了事。Linux系统的关闭可以在字符或图形界面下进行。

2.3.1 字符界面

在字符界面下常用的关机/重启命令有shutdown、halt、reboot、poweroff和init,它们都可以达到关闭系统的目的,但每个命令的工作过程是不同的。

1.halt命令

halt命令的功能是关闭系统,在执行过程中,终止所有应用和系统进程,将所有数据写入存储介质,最后关闭系统。其常用方法为:

参数-f用于不调用shutdown而强制快速关机或重启;-p用于在关闭系统时关掉电源。

                halt [-f] [-p]

一般情况,使用-p参数在关闭系统后,会自动关闭电源。如果计算机不这样做,在看到“System halted.”消息后,可以手动切断电源。

2.reboot命令

reboot命令的工作过程与halt命令差不多,但它在关闭系统时会重新启动。

3.poweroff命令

poweroff命令等同于halt -p,关闭系统时同时关掉电源。

4.init和telinit命令

系统内运行着一个init进程,它负责系统的初始化和运行级别的切换。telinit和init命令的作用是告诉init进程作运行级切换,它的用法为:

                init runlevel
                telinit runlevel

Linux/UNIX有7个运行级或运行状态,定义如下(参见/etc/inittab)。

(1)0:关闭系统。

(2)1:单用户模式。

(3)2:多用户使用模式,但没有NFS功能。

(4)3:完全多用户模式。

(5)4:没有使用,用户可自定义。

(6)5:完全多用户模式,并且支持X-Windows(默认运行级)。

(7)6:重新启动。

init命令的使用示例如下:

                #init 0      #关机
                #init 6      #重新启动
                #init 1      #切换到单用户

5.shutdown命令

1)功能及用法

shutdown命令可以安全地关闭系统,在执行系统关闭与命令发出之间可以指定一个时间延迟,以供用户做准备并从容退出。使用shutdown命令时,将在关机前向系统内的所有用户发送通知或警告信息,告诉系统发生了什么及如何处理。其用法为:

shutdown [-krhfFc] time [warn_msg]

2)参数说明

shutdown命令的部分参数如表2-1所示。

表2-1 shutdown命令的部分参数

说明:当不带关机选项时,如-h、-H、-r,默认切换到运行级1,即单用户模式;若要通过shutdown-c撤销已经发出的shutdown命令,必须在与发出shutdown命令不同的终端上进行。

3)shutdown使用示例

                #shutdown-r now                  #立刻重新启动
                #shutdown-h now                 #立刻关机
                #shutdown-k now'Hey Lets go now.'  #发出警告信息,但没有真的关机
                #shutdown-h 10:42'10:42将关闭系统,请届时退出'         #10:42关机
                #shutdown-r+20'20min后将重启系统,请届时退出'        #20min后重启系统
                #shutdown-c       #撤销已下达的shutdown命令。注意,必须在其他终端才能使用此命令
                #shutdown now     #切换至单用户模式(不加任何选项时)

2.3.2 图形界面

在图形界面下,用户可以通过“系统”→“关机”选项(如图2-6所示),打开如图2-8所示的关机对话框。用户可以选择“关机”(Shut down)、“重新启动”(Reboot)、“休眠”(Hibernate)或“取消”(Cancel)按钮进行关机、重启系统、休眠或撤销。

图2-8 关机对话框