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 |