Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exec(2)

init(1M)

open(2)

sh(1)

signal(2)

ttymon(1M)

who(1)






       inittab(4)                                                inittab(4)


       NAME
             inittab - script for init

       DESCRIPTION
             The file /etc/inittab controls process dispatching by init.
             The processes most typically dispatched by init are daemons.

             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 convention for
             comments described in sh(1).  There are no limits (other than
             maximum entry size) imposed on the number of entries in the
             inittab file.  The entry fields are:

             id        This is one to four 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
                       configuration 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 ranging 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 are processed. When init is requested to
                       change run levels, all processes that do not have an
                       entry in the rstate field for the target run level
                       are sent the warning signal SIGTERM and allowed a
                       5-second grace period before being forcibly
                       terminated by the 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 through 6.  If no run level is
                       specified, then the process is assumed to be valid
                       at all run levels 0 through 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 an init or


                           Copyright 1994 Novell, Inc.               Page 1













      inittab(4)                                                inittab(4)


                      telinit process requests them to be run (regardless
                      of the current run level of the system).  See
                      init(1M).  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 killed
                      only if their line in inittab is marked off in the
                      action field, their line is deleted entirely from
                      inittab, or init goes into single-user state.

            action    Key words in this field tell init how to treat the
                      process specified in the process 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 the
                                      process dies, restart the process.
                                      If the process currently exists, do
                                      nothing and continue scanning the
                                      inittab file.

                      wait            When init enters 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 cause init to
                                      ignore this entry.

                      once            When init enters 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 init enters
                                      a new run level and the process is
                                      still running from a previous run
                                      level change, the program is not
                                      restarted.

                      boot            The entry is to be processed the
                                      first time init goes from single-
                                      user to multi-user state after the


                          Copyright 1994 Novell, Inc.               Page 2













       inittab(4)                                                inittab(4)


                                       system is booted.  (If initdefault
                                       is set to 2, the process runs right
                                       after the boot.)  init starts the
                                       process, does not wait for its
                                       termination and, when it dies, does
                                       not restart the process.

                       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 initdefault
                                       is set to 2, the process runs right
                                       after the boot.)  init starts the
                                       process, 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 5
                                       seconds before forcibly terminating
                                       the process with 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 identical to respawn
                                       but is given a different keyword in
                                       order to divorce its association
                                       with run levels.  This instruction
                                       is used only with the a, b or c
                                       values described in the rstate
                                       field.


                           Copyright 1994 Novell, Inc.               Page 3













      inittab(4)                                                inittab(4)


                      initdefault     An entry with this action is scanned
                                      only when init is 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 state. If
                                      the rstate field is empty, this is
                                      interpreted as 0123456 and init
                                      therefore enters run level 6.  This
                                      will cause the system to loop, that
                                      is, it will go to firmware and
                                      reboot continuously.  Additionally,
                                      if init does not find an initdefault
                                      entry in inittab, it requests an
                                      initial run level from the user at
                                      reboot time.

                      sysinit         Entries with this action are scanned
                                      only when init is initially invoked.
                                      Among other things, sysinit entries
                                      may be used to initialize devices on
                                      which init might try to ask the run
                                      level question.  These entries are
                                      executed and waited for before
                                      continuing.

            process   This is a command to be executed.  The entire
                      process 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.

      NOTICES
            The wsinit command is required to initialize the system
            console.  Do not remove this file, attempt to run it from the
            command line, or remove the line invoking it from /etc/inittab
            or /etc/conf/init.d/kernel.

            If you need more virtual terminals (VTs), edit the /dev/vt
            /dev/kd/kd 9 file. The driver supports anywhere from 1 to 15
            VTs.

            Application code should not attempt to modify the /etc/inittab
            file during a run-level change, since the etc/init program
            ignores inittab changes then.  In particular, modifying the


                          Copyright 1994 Novell, Inc.               Page 4













       inittab(4)                                                inittab(4)


             /etc/inittab file while the system is shutting down will
             result in minor root file system damage.

       FILES
             /sbin/wsinit

       REFERENCES
             exec(2), init(1M), open(2), sh(1), signal(2), ttymon(1M),
             who(1)







































                           Copyright 1994 Novell, Inc.               Page 5








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