Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ inittab(4) — svr4 — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exec(2)

open(2)

signal(2)

getty(1M)

init(1M)

sh(1)

who(1)



INITTAB(4-SVR4)     RISC/os Reference Manual      INITTAB(4-SVR4)



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 11/19/92                   Page 1





INITTAB(4-SVR4)     RISC/os Reference Manual      INITTAB(4-SVR4)



                         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 11/19/92





INITTAB(4-SVR4)     RISC/os Reference Manual      INITTAB(4-SVR4)



                    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 11/19/92                   Page 3





INITTAB(4-SVR4)     RISC/os Reference Manual      INITTAB(4-SVR4)



                    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 11/19/92



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026