This chapter describes the procedures for shutting down systems. This is a list of the step-by-step instructions in this chapter.
This is a list of the overview information in this chapter.
For overview information about the available run levels, see Chapter 8, Run Levels and Boot Files (Tasks).
Solaris software is designed to be left running continuously so that the electronic mail and network software can work correctly. However, some system administration tasks and emergency situations require that the system is shut down to a level where it is safe to remove power or brought to an intermediate level, where not all system services are available, such as:
Adding or removing hardware
Preparing for an expected power outage
Performing file system maintenance, such as a backup
See Chapter 7, Shutting Down and Booting a System (Overview) for a complete list of system administration tasks requiring a system shutdown.
For information on using your system's power management features, see Using Power Management.
Using the init and shutdown commands are the primary ways to shut down a system. Both commands perform a clean shutdown of the system, which means all file system changes are written to the disk, and all system services, processes, and the operating system are terminated normally.
Using a system's stop key sequence or turning a system off and then on are not clean shutdowns because system services are terminated abruptly. However, is it sometimes necessary to use these actions in emergency situations. See Chapter 10, SPARC: Booting a System (Tasks) or Chapter 11, IA: Booting a System (Tasks) for instructions on system recovery techniques.
The following table describes the various shutdown commands and provides recommendations for using them.
Table 9-1 Shutdown Commands
The /usr/sbin/shutdown command, not the /usr/ucb/shutdown command, is used in this chapter and throughout this book.
Turning off power to all system devices is necessary when you need to:
Replace or add hardware
Move the system from one location to another
Prepare for an expected power outage or natural disaster like an approaching electrical storm
System devices to power down include the CPU, the monitor, and external devices such as disks, tapes, and printers.
The steps for turning off power to all devices are performed in addition to shutting down the system.
When the shutdown command is initiated, a warning followed by a final shutdown message is broadcast to all users currently logged onto the system and all systems that are mounting resources from the affected system.
This is why the shutdown command is recommended over the init command when used on a server. When using either command, you might want to give users more notice by sending a mail message about any scheduled system shutdown.
Use the who(1) command to determine which users on the system need to be notified. This command is also useful for determining a system's current run level, which is described on "How to Determine a System's Run Level".
The following example displays the output of the who command.
$ who holly 1 console May 7 07:30 kryten pts/0 2 May 7 07:35 (starbug) 4 lister pts/1 May 7 07:40 3 (bluemidget) |
Identifies the user name of the logged-in user.
Identifies the terminal line of the logged-in user.
Identifies the date and time the user logged in.
(Optional) Identifies the host name if a user is logged in from a remote system.
Become superuser.
Find out if users are logged into the system.
# who |
A list of all logged-in users is displayed. You might want to send mail or broadcast a message to let users know that the system is being shut down.
Shut down the system by using the shutdown(1M) command.
# shutdown -iinit-state -ggrace-period -y |
-iinit-state |
Brings the system to an init state different from the default of S. The choices are 0, 1, 2, 5, and 6. |
-ggrace-period |
Indicates a time (in seconds) before the system is shut down. The default is 60 seconds. |
-y |
Continues to shut down the system without intervention; otherwise, you are prompted to continue the shutdown process after 60 seconds. |
If you are asked for confirmation, type y.
Do you want to continue? (y or n): y |
If you used the shutdown -y command, you will not be prompted to continue.
Type the superuser password, if prompted.
Type Ctrl-d to proceed with normal startup, (or give root password for system maintenance): xxx |
After you have finished the system administration tasks, press Control-d to return to the default run system level.
Use the following table to verify the system is at the run level specified in the shutdown command.
If the System Was Brought To ... |
The SPARC Based System Prompt Should Be ... |
The IA Based System Prompt Should Be ... |
---|---|---|
Run level S (single-user state) |
# |
# |
Run level 0 (power-down state) |
ok or > |
type any key to continue |
Run level 3 (multiuser state with remote resources shared) |
hostname console login: |
hostname console login: |
In the following example, the shutdown is used to bring a SPARC based system to run level S (single-user state) in 3 minutes.
# who root console Jul 14 13:53 # shutdown -g180 -y Shutdown started. Wed Jul 14 13:55:55 MDT 1999 Broadcast Message from root (console) on earth Wed Jul 14 13:55:56... The system earth will be shut down in 3 minutes . . . Broadcast Message from root (console) on earth Wed Jul 14 13:58:28... The system earth 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. Jul 14 13:59:15 earth /usr/sbin/vold[376]: problem unmounting /vol; Print services stopped. Jul 14 13:59:16 earth syslogd: going down on signal 15 Killing user processes: done. INIT: SINGLE USER MODE Type control-d to proceed with normal startup, (or give root password for system maintenance): xxx Entering System Maintenance Mode ... # |
In the following example, the shutdown command is used to bring a SPARC based system to run level 0 in 5 minutes without requiring additional confirmation.
# who root console Jul 14 14:01 rimmer pts/0 Jul 14 14:03 (starbug) pmorph pts/1 Jul 14 14:04 (bluemidget) # shutdown -i0 -g300 -y Shutdown started. Wed Jul 14 14:05:03 MDT 1999 Broadcast Message from root (console) on earth Wed Jul 14 14:05:03... The system earth 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 |
See "How to Turn Off Power to All Devices" if you are bringing the system to run level 0 to turn off power to all devices.
In the following example, the shutdown command is used to reboot a SPARC based system to run level 3 in two minutes without requiring additional confirmation.
# who root console Jul 14 14:14 rimmer pts/0 Jul 14 14:15 (starbug) pmorph pts/1 Jul 14 14:15 (bluemidget) # shutdown -i6 -g120 -y Shutdown started. Wed Jul 14 14:16:08 MDT 1999 Broadcast Message from root (console) on earth Wed Jul 14 14:16:08... The system earth 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. . . . The system is down. syncing file systems... done rebooting... . . . earth console login: |
Regardless of the reason for shutting down the system, you'll probably want to return to run level 3 where all file resources are available and users can log in. See Chapter 10, SPARC: Booting a System (Tasks) or Chapter 11, IA: Booting a System (Tasks) for instructions on bringing a system back to a multiuser state.
Become superuser.
Shut down the system by using the init(1M) command.
# init run-level |
run-level |
Identifies the new run level. |
Use the following table to verify the system is at the run level specified in the init command.
If the System Was Brought To ... |
The SPARC Based System Prompt Should Be ... |
The IA Based System Prompt Should Be ... |
---|---|---|
Run level S (single-user state) | # | # |
Run level 2 (multiuser state) | # | # |
Run level 0 (power-down state) | ok or > | type any key to continue |
Run level 3 (multiuser state with remote resources shared) |
hostname console login: |
hostname console login: |
In the following example, the init command is used to bring an IA based standalone system to the level where it is safe to turn off power.
# 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 Type any key to continue |
See "How to Turn Off Power to All Devices" if you are bringing the system to run level 0 to turn off power to all devices.
In the following example, the init is used to bring a SPARC based standalone system to run level S (single-user state).
# 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. INIT: SINGLE USER MODE Type Ctrl-d to proceed with normal startup, (or give root password for system maintenance): xxx Entering System Maintenance Mode # |
Regardless of the reason for shutting down the system, you'll probably want to return to run level 3 where all file resources are available and users can log in. See Chapter 10, SPARC: Booting a System (Tasks) or Chapter 11, IA: Booting a System (Tasks) for instructions on bringing a system back to a multiuser state.
Use the following table to determine which procedure to use for shutting down the system.
If You Are Shutting Down a Server ... |
If You Are Shutting Down a Standalone System ... |
---|---|
Turn off power to all devices after the system is shutdown. If necessary, also unplug the power cables.
After power can be restored, use the following steps to turn on the system and devices.