System Administration Guide: Basic Administration

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 18–2 Solaris Run Levels

Run Level 

Init State 

Type 

Purpose 

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.  

Administrative state 

Single-user 

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

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.

Multiuser level with NFS resources shared

Multiuser 

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

Alternative multiuser state 

 

Not configured by default, but available for customer use. 

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. 

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 18–3 Solaris Run Levels and SMF Milestones

Run Level 

SMF Milestone FMRI 

milestone/single-user:default

milestone/multi-user:default

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 18–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