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 



Power-down state 


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

s or S

Single-user state


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

Administrative state 


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

Multiuser state 


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


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 


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 


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 




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


run-level 3

Identifies the current run level 

Dec 13 10:10

Identifies the date of last run level change 


Also identifies the current run level 


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


Identifies the previous run level