Annotation of 43BSDReno/sbin/init/init.8, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1980 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)init.8      6.3 (Berkeley) 6/24/90
        !             6: .\"
        !             7: .TH INIT 8 "June 24, 1990"
        !             8: .UC 4
        !             9: .SH NAME
        !            10: init \- process control initialization
        !            11: .SH SYNOPSIS
        !            12: .B /etc/init
        !            13: .SH DESCRIPTION
        !            14: .I Init
        !            15: is invoked inside UNIX as the last step in the boot procedure.
        !            16: It normally then runs the automatic reboot sequence as described in
        !            17: .IR reboot (8),
        !            18: and if this succeeds, begins multi-user operation.
        !            19: If the reboot fails, it commences single user operation by giving
        !            20: the super-user a shell on the console.  It is possible to pass parameters
        !            21: from the boot program to
        !            22: .I init
        !            23: so that single user operation is commenced immediately.
        !            24: When such single user operation is terminated by killing the single-user
        !            25: shell (i.e. by hitting ^D),
        !            26: .I init
        !            27: runs
        !            28: .I /etc/rc
        !            29: without the reboot parameter.
        !            30: This command file
        !            31: performs housekeeping operations
        !            32: such as removing temporary files,
        !            33: mounting file systems, and starting
        !            34: daemons.
        !            35: .PP
        !            36: In multi-user operation, 
        !            37: .I init's
        !            38: role is to create a process for each
        !            39: terminal port on which a user may log in.
        !            40: To begin such operations, it reads the file
        !            41: .I /etc/ttys
        !            42: and
        !            43: executes a command for each terminal specified in the file.
        !            44: This command will usually be
        !            45: .IR /usr/libexec/getty .
        !            46: .I Getty
        !            47: opens and initializes the terminal line,
        !            48: reads the user's name and invokes
        !            49: .I login
        !            50: to log in the user and execute the Shell.
        !            51: .PP
        !            52: Ultimately the Shell will terminate
        !            53: because of an end-of-file either
        !            54: typed explicitly or generated as a result of hanging up.
        !            55: The main path of
        !            56: .IR init ,
        !            57: which has been waiting
        !            58: for such an event,
        !            59: wakes up and removes the appropriate entry from the
        !            60: file
        !            61: .IR utmp ,
        !            62: which records current users, and
        !            63: makes an entry in
        !            64: .IR /var/log/wtmp ,
        !            65: which maintains a history
        !            66: of logins and logouts.
        !            67: The
        !            68: .I wtmp
        !            69: entry is made only if a user logged in successfully on the line.
        !            70: Then the appropriate terminal is reopened and
        !            71: .I getty
        !            72: is
        !            73: reinvoked.
        !            74: .PP
        !            75: .I Init
        !            76: catches the
        !            77: .I hangup
        !            78: signal (signal SIGHUP) and interprets it to mean that
        !            79: the file
        !            80: .I /etc/ttys
        !            81: should be read again.
        !            82: The Shell process on each line which used to be active
        !            83: in
        !            84: .I ttys
        !            85: but is no longer there is terminated;
        !            86: a new process is created for each added line;
        !            87: lines unchanged in the file are undisturbed.
        !            88: Thus it is possible to drop or add terminal lines without
        !            89: rebooting the system by changing the
        !            90: .I ttys
        !            91: file and sending a
        !            92: .I hangup
        !            93: signal to the
        !            94: .I init
        !            95: process: use `kill \-HUP 1.'
        !            96: .PP
        !            97: .I Init
        !            98: will terminate multi-user operations and resume single-user mode
        !            99: if sent a terminate (TERM) signal, i.e. ``kill \-TERM 1''.
        !           100: If there are processes outstanding which are deadlocked (due to
        !           101: hardware or software failure),
        !           102: .I init
        !           103: will not wait for them all to die (which might take forever), but
        !           104: will time out after 30 seconds and print a warning message.
        !           105: .PP
        !           106: .I Init
        !           107: will cease creating new
        !           108: .IR getty 's
        !           109: and allow the system to slowly die away, if it is sent a terminal stop (TSTP)
        !           110: signal, i.e. ``kill \-TSTP 1''.  A later hangup will resume full
        !           111: multi-user operations, or a terminate will initiate a single user shell.
        !           112: This hook is used by
        !           113: .IR reboot (8)
        !           114: and
        !           115: .IR halt (8).
        !           116: .PP
        !           117: .I Init's
        !           118: role is so critical that if it dies, the system will reboot itself
        !           119: automatically.
        !           120: If, at bootstrap time, the
        !           121: .I init
        !           122: process cannot be located, the system will loop in user mode at location
        !           123: 0x13.
        !           124: .SH DIAGNOSTICS
        !           125: \fB/usr/libexec/getty\fP \fIgettyargs\fP\fB failing, sleeping\fP.
        !           126: A process being started to service a line is exiting quickly
        !           127: each time it is started.
        !           128: This is often caused by a ringing or noisy terminal line.
        !           129: .I Init will sleep for 30 seconds, then continue trying to start the process.
        !           130: .LP
        !           131: \fBWARNING: Something is hung (wont die); ps axl advised\fR.  A process
        !           132: is hung and could not be killed when the system was shutting down.
        !           133: This is usually caused by a process
        !           134: which is stuck in a device driver due to a persistent device error condition.
        !           135: .SH FILES
        !           136: /dev/console,
        !           137: /dev/tty*,
        !           138: /var/run/utmp,
        !           139: /var/log/wtmp,
        !           140: /etc/ttys,
        !           141: /etc/rc
        !           142: .SH "SEE ALSO"
        !           143: login(1), kill(1), sh(1), ttys(5), crash(8V), getty(8), rc(8), reboot(8),
        !           144: halt(8), shutdown(8)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.