Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getty(8)

shutdown(8)

login(1)

sh(1)

stty(1)

who(1)

Gettydefs(4)

inittab(4)

utmp(4)

termio(7)

kill(2)



  init(8)                             CLIX                             init(8)



  NAME

    init, telinit - Runs process control initialization

  SYNOPSIS

    /etc/init [O123456SsQqabc]

    /etc/telinit [O123456SsQqabc]

  DESCRIPTION

  init

    The init command is a general process spawner.  Its primary role is to
    create processes from information stored in the file /etc/inittab (see
    inittab(4)).

    At any given time, the system is in one of eight possible run levels.  A
    run level is a software configuration of the system under which only a
    selected group of processes exist.  The processes spawned by init for each
    of these run levels is defined in /etc/inittab.  The init command can be
    in one of eight run levels, 0-6 and S or s (run levels S and s are
    identical).  The run level changes when a privileged user runs /etc/init.
    This user-spawned init sends appropriate signals to the original init
    spawned by the operating system when the system was booted, telling it the
    run level to which it should change.

    The arguments to init follow:

    0       Shut the machine down so it is safe to remove the power.  Have the
            machine remove power if it can.

    1       Put the system in single-user mode.  Unmount all file systems
            except root.  All user processes are killed except those connected
            to the console.

    2       Put the system in multiuser mode.  All multiuser environment
            terminal processes and daemons are spawned.  This state is
            commonly referred to as the multiuser state.

    3       Start the remote file sharing processes and daemons.  Mount and
            advertise remote resources.  Run level 3 extends multiuser mode
            and is known as the remote-file-sharing state.

    4       Is available to be defined as an alternative multiuser environment
            configuration.  It is not necessary for system operation and is
            usually not used.

    5       Stop the system and go to the firmware monitor.




  2/94 - Intergraph Corporation                                              1






  init(8)                             CLIX                             init(8)



    6       Stop the system and reboot to the state defined by the initdefault
            entry in /etc/inittab.

    a,b,c   Process only those /etc/inittab entries having the a, b or c run
            level set.  These are pseudo-states, which may be defined to run
            certain commands, but which do not cause the current run level to
            change.

    Q,q     Re-examine /etc/inittab.

    S,s     Enter single-user mode.  When this occurs, the terminal that
            executed this command becomes the system console.  This is the
            only run level that doesn't require the existence of a properly
            formatted /etc/inittab file.  If this file does not exist, then by
            default the only legal run level that init can enter is the
            single-user mode.  When the system enters S or s, all mounted file
            systems remain mounted and only processes spawned by init are
            killed.

    When a UNIX system is booted, init is invoked and the following occurs.
    First, init looks in /etc/inittab for the initdefault entry (see
    inittab(4)).  If there is one, init uses the run level specified in that
    entry as the initial run level to enter.  If there is no initdefault entry
    in /etc/inittab, init requests that the user enter a run level from the
    virtual system console.  If an S or s is entered, init goes to the
    single-user state.  In the single-user state the virtual system console
    terminal is assigned to the user's terminal and is opened for reading and
    writing.  The command /bin/su is invoked and a message is generated on the
    physical console saying where the virtual console has been relocated.  Use
    either init or telinit to signal init to change the run level of the
    system.

    Note: if the shell is terminated (with an end-of-file), init will only
    re-initialize to the single-user state if the /etc/inittab file does not
    exist.

    If a 0 through 6 is entered, init enters the corresponding run level.
    Note that, on the 3B2 Computer, the run levels 0, 1, 5, and 6 are reserved
    states for shutting the system down; the run levels 2, 3, and 4 are
    available as normal operating states.

    If this is the first time since power up that init has entered a run level
    other than single-user state, init first scans /etc/inittab for boot and
    bootwait entries (see inittab(4)).  These entries are performed before any
    other processing of /etc/inittab takes place, provided that the run level
    entered matches that of the entry.  In this way any special initialization
    of the operating system, such as mounting file systems, can take place
    before users are allowed onto the system.  The init command then scans
    /etc/inittab and executes all other entries that are to be processed for
    that run level.




  2                                              Intergraph Corporation - 2/94






  init(8)                             CLIX                             init(8)



    In a multiuser environment, /etc/inittab is set up so that init will
    create a getty process for each terminal that the administrator sets up to
    respawn.

    To spawn each process in /etc/inittab, init reads each entry and for each
    entry that should be respawned, it forks a child process.  After it has
    spawned all of the processes specified by /etc/inittab, init waits for one
    of its descendant processes to die, a POWERFAIL signal, or a signal from
    another init or telinit process to change the system's run level.  When
    one of these conditions occurs, init re-examines /etc/inittab.  New
    entries can be added to /etc/inittab at any time; however, init still
    waits for one of the above three conditions to occur before re-examining
    /etc/inittab.  To get around this, an init Q or init q command wakes init
    to re-examine /etc/inittab immediately.

    When init comes up at boot time and whenever the system changes from the
    single-user state to another run state, init sets the ioctl(2) states of
    the virtual console to those modes saved in the file /etc/ioctl.syscon.
    This file is written by init whenever the single-user state is entered.

    When a run level change request is made, init sends the warning signal
    (SIGTERM) to all processes that are undefined in the target run level.
    The init command waits 5 seconds before forcibly terminating these
    processes with the kill signal (SIGKILL).

    The shell running on each terminal will terminate when the user types an
    end-of-file or hangs up.  When init receives a signal telling it that a
    process it spawned has died, it records the fact and the reason it died in
    /etc/utmp and /etc/wtmp if it exists (see who(1)).  A history of the
    processes spawned is kept in /etc/wtmp.

    If init receives a powerfail signal (SIGPWR) it scans /etc/inittab for
    special entries of the type powerfail and powerwait.  These entries are
    invoked (if the run levels permit) before any further processing takes
    place.  In this way, init can perform various cleanup and recording
    functions during the powerdown of the operating system.  Note that in the
    single-user states, S and s, only powerfail and powerwait entries are
    executed.

  DESCRIPTION

  telinit

    The telinit command, which is linked to /etc/init, is used to direct the
    actions of init.  It takes a one-character argument and signals init to
    take the appropriate action.

  EXAMPLES

    1.  To force init to reread /etc/inittab, enter the following:




  2/94 - Intergraph Corporation                                              3






  init(8)                             CLIX                             init(8)



        init q


    2.  To initiate a reboot, enter this command line:

        init 6


  FILES

    /etc/inittab

    /etc/utmp

    /etc/wtmp

    /etc/ioctl.syscon

    /dev/console

    /dev/contty

  CAUTIONS

    The init and telinit commands can be run only by someone who is superuser.

    The S or s state must not be used indiscriminately in the /etc/inittab
    file.  A good rule to follow when modifying this file is to avoid adding
    this state to any line other than the initdefault.

    The change to /etc/gettydefs described in the CAUTIONS section of the
    gettydefs(4) manual page will permit terminals to pass eight bits to the
    system as long as the system is in multiuser state (run level greater than
    1).  When the system changes to single-user state, the getty is killed and
    the terminal attributes are lost.  To permit a terminal to pass eight bits
    to the system in single-user state, after you are in single-user state,
    enter:

    stty -istrip cs8


  DIAGNOSTICS

    If init finds that it is respawning an entry from /etc/inittab more than
    10 times in two minutes, it will assume that there is an error in the
    command string in the entry, and generate an error message on the system
    console.  The init command will then refuse to respawn this entry until
    either five minutes has elapsed or it receives a signal from a user-
    spawned init (telinit).  The error message and timeout help prevent init
    from eating up system resources when someone makes a typographical error
    in the inittab file or a program is removed that is referenced in



  4                                              Intergraph Corporation - 2/94






  init(8)                             CLIX                             init(8)



    /etc/inittab.

    When attempting to boot the system, init might fail to prompt for a new
    run level if the virtual system console is linked to a device other than
    the physical system console.

  EXIT VALUES

    The init command exits with a value of 0 if successful and a value of 1 if
    it fails.

  RELATED INFORMATION

    Commands: getty(8), shutdown(8), login(1), sh(1), stty(1), who(1)

    Files: Gettydefs(4), inittab(4), utmp(4), termio(7)

    Functions: kill(2)




































  2/94 - Intergraph Corporation                                              5




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