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
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 |
---|---|
S |
milestone/single-user:default |
2 |
milestone/multi-user:default |
3 |
milestone/multi-user-server:default |
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.
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.
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 |