init - Process control initialization
Shuts down and halts the system. Changes the run level to
a multiuser state with local processes and daemons.
Changes the run level to a multiuser state with remote
processes and daemons. Changes run level to that specified
by the number option in the /etc/inittab file. If no
such entry exists, no action is taken and no message is
output. Moves control to the console device and halts to
single-user mode. Forces init to reexamine the entries in
the inittab file and terminates any live processes which
have had their configuration entries removed from
/etc/inittab. Users should be aware that when a getty(8)
line has been removed from/etc/inittab, and a login shell
is active on the terminal line that was formerly designated
in inittab as a getty entry, the login shell will be
killed. Changes the run level to a single user state with
only the essential kernel services.
The init program initializes the system by creating and
controlling processes. The processes run by init at each
run level are defined in the inittab file. The init program
reads and processes the entries in the inittab file.
The init program considers the system to be in a run level
at any given time; each run level has a specific group of
processes that run at that level. The init program operates
in one of eleven run levels: 0-9 and Ss. Of these,
only -0, -s, -2, and -3 are configured in the inittab file
The run level changes when a privileged user invokes init.
The new init sends appropriate signals to the original
init that tell it which run level to change to.
Running the init program is the last step in the boot process
after the root file system is mounted. The init program
scans the inittab file and looks for an entry with
the initdefault keyword. If the entry is there, init uses
the run level specified in that entry as the initial run
level to enter. If the entry is not found in the<filename>
inittab</filename> file or if the inittab file does not
exist, init requests that the user enter a run level from
the system console, /dev/console. If the user enters the
letter s, init enters single user state, assigns the virtual
console terminal to the user's terminal and opens it
for reading and writing. The su command is invoked and
the system displays a message on the console stating the
location of the virtual console.
To change the run level, the user specifies either the 0,
2, 3, or s option.
For the first post-boot execution of init to a run level
other than single user, it searches the inittab file for
entries at the new run level that have the boot or bootwait
keywords. If the run level that is specified matches
the entry, the init program acts on these entries before
processing other entries in the inittab file. Any special
initialization of the system, such as checking and mounting
file systems, takes place before users are allowed on
the system. The init program then scans the inittab file
to find all entries that are to be handled for that level.
Before starting a new process, init reads each entry in
the inittab file, and for each entry that should be
respawned, init forks a child process. After spawning all
required processes, init waits for one of its descendant
processes to stop, a power-fail signal, or a signal that
it should change the run level. If one of the preceding
three conditions occurs, init reexamines the inittab file.
You can add new entries to the inittab file, but init does
not reexamine the file until one of the three previous
conditions actually occurs. To immediately reexamine the
inittab file, invoke the init program with the q option.
Specifies the command path Specifies the init command control
file Specifies the permanent login accounting file
Commands: getty(8), rc0(8), rc2(8), rc3(8), shutdown(8)
Functions: kill(2), reboot(2)
[ Back ]