第9 章
165
关闭系统
Solaris 软件可以持续运行,从而使电子邮件和网络软件可以正常工作。但是,某些系
统管理任务和紧急情况需要关闭系统,使其进入可以安全断电的级别。在某些情况
下,需要使系统进入中间级别,在此级别并非所有系统服务都可用。这类情况包括以
下几项:
■ 添加或删除硬件
■ 为预期停电做准备
■ 执行文件系统维护,如备份
有关需要关闭系统的系统管理任务的完整列表,请参见第8 章。
有关使用系统电源管理功能的信息,请参见pmconfig(1M) 手册页。
系统关闭命令
关闭系统的主要方法是使用init 和shutdown 命令。这两个命令都会执行系统的干净关
闭。同样,系统会将所有的文件系统更改写入磁盘,并以正常方式终止所有系统服
务、进程和操作系统。
由于系统服务会突然终止,因此使用系统的Stop 组合键或关闭系统然后再将其打开都
不是干净关机。但是,有时在紧急情况下需要执行这些操作。有关系统恢复技术的说
明,请参见第10 章或第11 章。
下表介绍了各种关闭命令,并提供了使用这些命令的建议。
表9–1关闭命令
命令说明何时使用
shutdown 调用init 程序以关闭系统的可执行
shell 脚本。缺省情况下,会使系统
进入运行级S。
由于系统会通知用户即将发生的关闭操作,
因此建议对在运行级3 运行的服务器使用此
命令。另外,还会通知正在从即将关闭的服
务器装入资源的系统。
init 用于在更改运行级之前中止所有活
动进程并同步磁盘的可执行文件。
建议在不影响其他用户的情况下对独立系统
使用此命令。由于系统不会通知用户即将发
生的关闭操作,因此该命令可以更快地关闭
系统。
reboot 用于同步磁盘并将引导指令传递给
uadmin 系统调用的可执行文件。此
系统调用会反过来停止处理器。
init 命令是首选方法。
关闭系统
166 系统管理指南:基本管理• 2006 年7 月
表9–1 关闭命令(续)
命令说明何时使用
halt, poweroff 用于同步磁盘并停止处理器的可执
行文件。
由于此命令不会关闭所有进程并卸载所有其
余的文件系统,因此不建议使用它。仅在紧
急情况下或大多数服务已停止时,才应停止
服务,而无需执行干净关机操作。
通知用户系统关闭时间
启动shutdown 命令时,系统会向当前登录到该系统以及登录到从受影响系统装入资源
的所有系统的所有用户广播一条警告,然后发出最终的关闭消息。
出于此原因,需要关闭服务器时,应首选shutdown 命令而不是init 命令。使用这任一
命令时,您可能需要向用户发送电子邮件,提供有关任何预定系统关闭的通知。
使用who 命令可以确定系统中需要通知的用户。此命令还可用于确定系统的当前运行
级。有关更多信息,请参见第281 页中的“确定系统的运行级”和who(1) 手册页。
▼ 如何确定登录到系统的用户
登录即将关闭的系统。
显示登录到系统的所有用户。
$ who
确定登录到系统的用户
以下示例说明如何显示登录到系统的用户。
$ who
holly console May 7 07:30
kryten pts/0 May 7 07:35 (starlite)
lister pts/1 May 7 07:40 (bluemidget)
■ 第一列中的数据标识登录用户的用户名
■ 第二列中的数据标识登录用户的终端线
■ 第三列中的数据标识用户登录的日期和时间
■ 第四列中的数据(如果存在)标识用户从远程系统登录时的主机名
1
2
示例9–1
关闭系统
第9 章• 关闭系统(任务) 167
▼ 如何关闭服务器
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
了解用户是否已登录到系统。
# who
屏幕上会显示所有登录用户的列表。您可能需要发送邮件或广播消息,以使用户知道
系统即将关闭。
关闭系统。
# shutdown -iinit-level -ggrace-period -y
-iinit-level 使系统进入与缺省的S 级不同的init 级别。选项包括0、1、2、5 和
6。
运行级0 和5 是为关闭系统而保留的状态。运行级6 用于重新引导系
统。运行级2 可用作多用户操作状态。
-ggrace-period 指示系统关闭前的时间(以秒为单位)。缺省值为60 秒。
-y 继续关闭系统,无需任何介入。否则,系统会提示您在60 秒后继续
执行关闭过程。
有关更多信息,请参见shutdown(1M) 手册页。
如果系统要求您确认,请键入y。
Do you want to continue? (y or n): y
如果使用了shutdown -y 命令,系统将不提示您继续操作。
如果系统提示,请键入超级用户口令。
Type Ctrl-d to proceed with normal startup,
(or give root password for system maintenance): xxxxxx
完成系统管理任务后,请按Control-D 组合键,以返回到缺省的系统运行级。
您可使用下表确认系统是否处于您在shutdown 命令中指定的运行级。
指定的运行级基于SPARC 的系统提示符基于x86 的系统提示符
S(单用户级别) # #
1
2
3
4
5
6
7
关闭系统
168 系统管理指南:基本管理• 2006 年7 月
指定的运行级基于SPARC 的系统提示符基于x86 的系统提示符
0(电源关闭级别) ok 或> 按任意键以重新引导
运行级3(共享远程资源的多
用户级别)
hostname console login: hostname console login:
SPARC: 使服务器进入运行级S
在以下示例中,使用shutdown 命令可使基于SPARC 的系统在三分钟内进入运行级S
(单用户级别)。
# who
root console Jun 14 15:49 (:0)
# shutdown -g180 -y
Shutdown started. Mon Jun 14 15:46:16 MDT 2004
Broadcast Message from root (pts/4) on venus Mon Jun 14 15:46:16...
The system venus will be shut down in 3 minutes .
.
.
Broadcast Message from root (pts/4) on venus Mon Jun 14 15:46:16...
The system venus will be shut down in 30 seconds .
.
.
INIT: New run level: S
The system is coming down for administration. Please wait.
Unmounting remote filesystems: /vol nfs done.
Shutting down Solaris Management Console server on port 898.
Print services stopped.
Jun 14 15:49:00 venus syslogd: going down on signal 15
Killing user processes: done.
Requesting System Maintenance Mode
SINGLE USER MODE
Root password for system maintenance (control-d to bypass): xxxxxx
single-user privilege assigned to /dev/console.
Entering System Maintenance Mode
#
SPARC: 使服务器进入运行级0
在以下示例中,使用shutdown 命令可使基于SPARC 的系统在5 分钟内进入运行级0,
而无需进行其他确认。
示例9–2
示例9–3
关闭系统
第9 章• 关闭系统(任务) 169
# who
root console Jun 17 12:39
userabc pts/4 Jun 17 12:39 (:0.0)
# shutdown -i0 -g300 -y
Shutdown started. Thu Jun 17 12:40:25 MST 2004
Broadcast Message from root (console) on pretend Thu Jun 17 12:40:25...
The system pretend will be shut down in 5 minutes
.
.
.
Changing to init state 0 - please wait
#
INIT: New run level: 0
The system is coming down. Please wait.
System services are now being stopped.
.
.
.
The system is down.
syncing file systems... done
Program terminated
Type help for more information
ok
如果要使系统进入运行级0 以关闭所有设备的电源,请参见第173 页中的“如何关闭所
有设备的电源”。
SPARC: 将服务器重新引导至运行级3
在以下示例中,使用shutdown 命令可将基于SPARC 的系统在两分钟内重新引导至运行
级3。不需要进行其他确认。
# who
root console Jun 14 15:49 (:0)
userabc pts/4 Jun 14 15:46 (:0.0)
# shutdown -i6 -g120 -y
Shutdown started. Mon Jun 14 15:46:16 MDT 2004
Broadcast Message from root (pts/4) on venus Mon Jun 14 15:46:16...
The system venus will be shut down in 2 minutes
Changing to init state 6 - please wait
#
INIT: New run level: 6
The system is coming down. Please wait.
.
示例9–4
关闭系统
170 系统管理指南:基本管理• 2006 年7 月
.
.
The system is down.
syncing file systems... done
rebooting...
.
.
.
venus console login:
无论由于何种原因关闭系统,可能都需要返回到运行级3,在该级别下,所有文件资源
均可用,并且用户可以登录。有关使系统重新进入多用户级别的说明,请参见第10 章
和第11 章。
▼ 如何关闭独立系统
需要关闭独立系统时,请使用以下过程。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
关闭系统。
# init run-level
其中run-level 标识了新的运行级。
有关更多信息,请参见init(1M) 手册页。
使用下表确认系统是否处于您在init 命令中指定的运行级。
指定的运行级基于SPARC 的系统提示符基于x86 的系统提示符
S(单用户级别) # #
2(多用户级别) # #
0(电源关闭级别) ok 或> 按任意键以重新引导
3(共享NFS 资源的多用户级别) hostname console login: hostname console login:
使独立系统进入运行级0
在此示例中,使用init 命令可使基于x86 的独立系统进入可安全关闭电源的级别。
另请参见
1
2
3
示例9–5
关闭系统
第9 章• 关闭系统(任务) 171
# init 0
#
INIT: New run level: 0
The system is coming down. Please wait.
.
.
.
The system is down.
syncing file systems... [11] [10] [3] done
Press any key to reboot
如果要使系统进入运行级0 以关闭所有设备的电源,请参见第173 页中的“如何关闭所
有设备的电源”。
SPARC: 使独立系统进入运行级S
在此示例中,使用init 命令可使基于SPARC 的独立系统进入运行级S(单用户级
别)。
# init s
#
INIT: New run level: S
The system is coming down for administration. Please wait.
Unmounting remote filesystems: /vol nfs done.
Print services stopped.
syslogd: going down on signal 15
Killing user processes: done.
SINGLE USER MODE
Root password for system maintenance (control-d to bypass): xxxxxx
single-user privilege assigned to /dev/console.
Entering System Maintenance Mode
#
无论由于何种原因关闭系统,可能都需要返回到运行级3,在该级别下,所有文件资源
均可用,并且用户可以登录。有关使系统重新进入多用户级别的说明,请参见第10 章
和第11 章。
示例9–6
另请参见
关闭系统
172 系统管理指南:基本管理• 2006 年7 月
关闭所有设备的电源
执行以下操作时,需要关闭所有系统设备的电源:
■ 更换或添加硬件。
■ 将系统从一个位置移至另一个位置。
■ 为了预期电源故障或自然灾难(如即将到来的雷暴)做准备。
关闭系统设备的电源,包括CPU、显示器以及外部设备(如磁盘、磁带和打印机)。
关闭所有系统设备的电源之前,应该先干净地关闭系统,如前几节所述。
▼ 如何关闭所有设备的电源
选择以下方法之一关闭系统:
■ 如果要关闭服务器,请参见第168 页中的“如何关闭服务器”。
■ 如果要关闭独立系统,请参见第171 页中的“如何关闭独立系统”。
系统关闭后,请关闭所有设备的电源。如有必要,还要拔除电源电缆。
恢复电源后,请执行以下步骤打开系统和设备。
a. 插入电源电缆。
b. 打开显示器。
c. 打开磁盘驱动器、磁带机和打印机。
d. 打开CPU。
系统将进入运行级3。
1
2
3
关闭所有设备的电源
第9 章• 关闭系统(任务)