INITTAB(4-SysV) RISC/os Reference Manual INITTAB(4-SysV)
NAME
inittab - script for the init process
DESCRIPTION
The inittab file supplies the script to init's role as a
general process dispatcher. The process that constitutes
the majority of init's process dispatching activities is the
line process /etc/getty that initiates individual terminal
lines. Other processes typically dispatched by init are
daemons and the shell.
The inittab file is composed of entries that are position
dependent and have the following format:
id:rstate:action:process
Each entry is delimited by a newline, however, a backslash
(\) preceding a newline indicates a continuation of the
entry. Up to 512 characters per entry are permitted.
Comments may be inserted in the process field using the
sh(1) convention for comments. Comments for lines that
spawn gettys are displayed by the who(1) command. It is
expected that they will contain some information about the
line such as the location. There are no limits (other than
maximum entry size) imposed on the number of entries within
the inittab file. The entry fields are:
id This is one or two characters used to
uniquely identify an entry.
rstate This defines the run-level in which this
entry is to be processed. run-levels
effectively correspond to a configura-
tion of processes in the system. That
is, each process spawned by init is
assigned a run-level or run-levels in
which it is allowed to exist. The run-
levels are represented by a number rang-
ing from 0 through 6. As an example, if
the system is in run-level 1, only those
entries having a 1 in the rstate field
will be processed. When init is
requested to change run-levels, all
processes which do not have an entry in
the rstate field for the target run-
level will be sent the warning signal
(SIGTERM) and allowed a 20-second grace
period before being forcibly terminated
by a kill signal (SIGKILL). The rstate
field can define multiple run-levels for
a process by selecting more than one
run-level in any combination from 0-6.
If no run-level is specified, then the
Printed 1/15/91 Page 1
INITTAB(4-SysV) RISC/os Reference Manual INITTAB(4-SysV)
process is assumed to be valid at all
run-levels 0-6. There are three other
values, a, b and c, which can appear in
the rstate field, even though they are
not true run-levels. Entries which have
these characters in the rstate field are
processed only when the telinit [see
init(1M)] process requests them to be
run (regardless of the current run-level
of the system). They differ from run-
levels in that init can never enter
run-level a, b or c. Also, a request
for the execution of any of these
processes does not change the current
run-level. Furthermore, a process
started by an a, b or c command is not
killed when init changes levels. They
are only killed if their line in
/etc/inittab is marked off in the action
field, their line is deleted entirely
from /etc/inittab, or init goes into the
SINGLE USER state.
action Key words in this field tell init how to
treat the process specified in the pro-
cess field. The actions recognized by
init are as follows:
respawn
If the process does not exist then start the
process, do not wait for its termination
(continue scanning the inittab file), and
when it dies restart the process. If the
process currently exists then do nothing and
continue scanning the inittab file.
wait Upon init's entering the run-level that
matches the entry's rstate, start the process
and wait for its termination. All subsequent
reads of the inittab file while init is in
the same run-level will cause init to ignore
this entry.
once Upon init's entering a run-level that matches
the entry's rstate, start the process, do not
wait for its termination. When it dies, do
not restart the process. If upon entering a
new run-level, where the process is still
running from a previous run-level change, the
program will not be restarted.
boot The entry is to be processed only at init's
Page 2 Printed 1/15/91
INITTAB(4-SysV) RISC/os Reference Manual INITTAB(4-SysV)
boot-time read of the inittab file. init is
to start the process, not wait for its termi-
nation; and when it dies, not restart the
process. In order for this instruction to
be meaningful, the rstate should be the
default or it must match init's run-level at
boot time. This action is useful for an ini-
tialization function following a hardware
reboot of the system.
bootwait
The entry is to be processed the first time
init goes from single-user to multi-user
state after the system is booted. (If init-
default is set to 2, the process will run
right after the boot.) init starts the pro-
cess, waits for its termination and, when it
dies, does not restart the process.
powerfail
Execute the process associated with this
entry only when init receives a power fail
signal [SIGPWR see signal(2)].
powerwait
Execute the process associated with this
entry only when init receives a power fail
signal (SIGPWR) and wait until it terminates
before continuing any processing of inittab.
off If the process associated with this entry is
currently running, send the warning signal
(SIGTERM) and wait 20 seconds before forcibly
terminating the process via the kill signal
(SIGKILL). If the process is nonexistent,
ignore the entry.
ondemand
This instruction is really a synonym for the
respawn action. It is functionally identi-
cal to respawn but is given a different key-
word in order to divorce its association with
run-levels. This is used only with the a, b
or c values described in the rstate field.
initdefault
An entry with this action is only scanned
when init initially invoked. init uses this
entry, if it exists, to determine which run-
level to enter initially. It does this by
taking the highest run-level specified in the
rstate field and using that as its initial
Printed 1/15/91 Page 3
INITTAB(4-SysV) RISC/os Reference Manual INITTAB(4-SysV)
state. If the rstate field is empty, this is
interpreted as 0123456 and so init will enter
run-level 6. Additionally, if init does not
find an initdefault entry in /etc/inittab,
then it will request an initial run-level
from the user at reboot time.
sysinit
Entries of this type are executed before init
tries to access the console (i.e., before the
Console Login: prompt). It is expected that
this entry will be only used to initialize
devices on which init might try to ask the
run-level question. These entries are exe-
cuted and waited for before continuing.
process
This is a sh command to be executed. The entire pro-
cess field is prefixed with exec and passed to a forked
sh as sh -c 'exec command'. For this reason, any legal
sh syntax can appear in the process field. Comments
can be inserted with the ; #comment syntax.
FILES
/etc/inittab
SEE ALSO
exec(2), open(2), signal(2).
getty(1M), init(1M) in the System Administrator's Reference
Manual.
sh(1), who(1) in the User's Reference Manual.
Page 4 Printed 1/15/91