System Administration Guide: Basic Administration
Previous Next

Run Levels

A system's run level (also known as an init state) defines what services and resources are available to users. A system can be in only one run level at a time.

The Solaris OS has eight run levels, which are described in the following table. The default run level is specified in the /etc/inittab file as run level 3.

Table 16-2 Solaris Run Levels

Run Level

Init State

Type

Purpose

0

Power-down state

Power-down

To shut down the operating system so that it is safe to turn off power to the system.

s or S

Single-user state

Single-user

To run as a single user with some file systems mounted and accessible.

1

Administrative state

Single-user

To access all available file systems. User logins are disabled.

2

Multiuser state

Multiuser

For normal operations. Multiple users can access the system and all file system. All daemons are running except for the NFS server daemons.

3

Multiuser level with NFS resources shared

Multiuser

For normal operations with NFS resources shared. This is the default run level for the Solaris OS.

4

Alternative multiuser state

Not configured by default, but available for customer use.

5

Power-down state

Power-down

To shut down the operating system so that it is safe to turn off power to the system. If possible, automatically turns off power on systems that support this feature.

6

Reboot state

Reboot

To shut down the system to run level 0, and then reboot to multiuser level with NFS resources shared (or whatever level is the default in the inittab file).

In addition, the svcadm command can be used to change the run level of a system, by selecting a milestone at which to run. The following table shows which run level corresponds to each milestone.

Table 16-3 Solaris Run Levels and SMF Milestones

Run Level

SMF Milestone FMRI

S

milestone/single-user:default

2

milestone/multi-user:default

3

milestone/multi-user-server:default

When to Use Run Levels or Milestones

Under most circumstances, using the init command with a run level to change the system state is sufficient. Using milestones to change system state can be confusing and can lead to unexpected behavior. In addition, the init command allows for the system to be shutdown, so init is the best command for changing system state.

However, booting a system using the none milestone, can be very useful when debugging startup problems. There is no equivalent run level to the none milestone. See How to Boot Without Starting Any Services for specific instructions.

Determining a System's Run Level

Display run level information by using the who -r command.

$ who -r

Use the who -r command to determine a system's current run level for any level.

Example 16-1 Determining a System's Run Level

This example displays information about a system's current run level and previous run levels.

$ who -r
 .    run-level 3  Dec 13 10:10  3  0 S
$

Output of who -r command

Description

run-level 3

Identifies the current run level

Dec 13 10:10

Identifies the date of last run level change

3

Also identifies the current run level

0

Identifies the number of times the system has been at this run level since the last reboot

S

Identifies the previous run level

Previous Next