Annotation of cci/usr/src/man/man8/init.8, revision 1.1.1.1

1.1       root        1: .TH INIT 8 "1 April 1981"
                      2: .UC 4
                      3: .SH NAME
                      4: init \- process control initialization
                      5: .SH SYNOPSIS
                      6: .B /etc/init
                      7: .SH DESCRIPTION
                      8: .I Init
                      9: is invoked inside UNIX as the last step in the boot procedure.
                     10: It normally then runs the automatic reboot sequence as described in
                     11: .IR reboot (8),
                     12: and if this succeeds, begins multi-user operation.
                     13: If the reboot fails, it commences single user operation by giving
                     14: the super-user a shell on the console.  It is possible to pass parameters
                     15: from the boot program to
                     16: .I init
                     17: so that single user operation is commenced immediately.
                     18: When such single user operation is terminated by killing the single-user
                     19: shell (i.e. by hitting ^D),
                     20: .I init
                     21: runs
                     22: .I /etc/rc
                     23: without the reboot parameter.
                     24: This command file
                     25: performs housekeeping operations
                     26: such as removing temporary files,
                     27: mounting file systems, and starting
                     28: daemons.
                     29: .PP
                     30: In multi-user operation, 
                     31: .I init's
                     32: role is to create a process for each
                     33: terminal port on which a user may log in.
                     34: To begin such operations, it reads the file
                     35: .I /etc/ttys
                     36: and
                     37: forks several times to create a process
                     38: for each terminal specified in the file.
                     39: Each of these processes opens the appropriate terminal
                     40: for reading and writing.  These channels thus
                     41: receive file descriptors 0, 1 and 2, the standard input and
                     42: output and the diagnostic output.
                     43: Opening the terminal will usually involve a delay,
                     44: since the
                     45: .IR open ""
                     46: is not completed until someone
                     47: is dialed up and carrier established on the channel.
                     48: If a terminal exists but an error occurs when trying to open the terminal
                     49: .I init
                     50: complains by writing a message to the system console;
                     51: the message is repeated every 10 minutes for each such terminal
                     52: until the terminal is shut off in /etc/ttys and init notified (by
                     53: a hangup, as described below), or the terminal becomes accessible
                     54: (init checks again every minute).
                     55: After an open succeeds,
                     56: .I /etc/getty
                     57: is called with argument as specified by the second character of
                     58: the
                     59: .I ttys
                     60: file line.
                     61: .I Getty
                     62: reads the user's name and invokes
                     63: .I login
                     64: to log in the user and execute the Shell.
                     65: .PP
                     66: Ultimately the Shell will terminate
                     67: because of an end-of-file either
                     68: typed explicitly or generated as a result of hanging up.
                     69: The main path of
                     70: .IR init ,
                     71: which has been waiting
                     72: for such an event,
                     73: wakes up and removes the appropriate entry from the
                     74: file
                     75: .IR utmp ,
                     76: which records current users, and
                     77: makes an entry in
                     78: .IR /usr/adm/wtmp ,
                     79: which maintains a history
                     80: of logins and logouts.
                     81: The
                     82: .I wtmp
                     83: entry is made only if a user logged in successfully on the line.
                     84: Then the appropriate terminal is reopened and
                     85: .I getty
                     86: is
                     87: reinvoked.
                     88: .PP
                     89: .I Init
                     90: catches the
                     91: .I hangup
                     92: signal (signal SIGHUP) and interprets it to mean that
                     93: the file
                     94: .I /etc/ttys
                     95: should be read again.
                     96: The Shell process on each line which used to be active
                     97: in
                     98: .I ttys
                     99: but is no longer there is terminated;
                    100: a new process is created for each added line;
                    101: lines unchanged in the file are undisturbed.
                    102: Thus it is possible to drop or add phone lines without
                    103: rebooting the system by changing the
                    104: .I ttys
                    105: file and sending a
                    106: .I hangup
                    107: signal to the
                    108: .I init
                    109: process: use `kill \-HUP 1.'
                    110: .PP
                    111: .I Init
                    112: will terminate multi-user operations and resume single-user mode
                    113: if sent a terminate (TERM) signal, i.e. ``kill \-TERM 1''.
                    114: If there are processes outstanding which are deadlocked (due to
                    115: hardware or software failure),
                    116: .I init
                    117: will not wait for them all to die (which might take forever), but
                    118: will time out after 30 seconds and print a warning message.
                    119: .PP
                    120: .I Init
                    121: will cease creating new
                    122: .IR getty 's
                    123: and allow the system to slowly die away, if it is sent a terminal stop (TSTP)
                    124: signal, i.e. ``kill \-TSTP 1''.  A later hangup will resume full
                    125: multi-user operations, or a terminate will initiate a single user shell.
                    126: This hook is used by
                    127: .IR reboot (8)
                    128: and
                    129: .IR halt (8).
                    130: .PP
                    131: .I Init's
                    132: role is so critical that if it dies, the system will reboot itself
                    133: automatically.
                    134: If, at bootstrap time, the
                    135: .I init
                    136: process cannot be located, the system will loop in user mode at location
                    137: 0x13.
                    138: .SH DIAGNOSTICS
                    139: \fBinit: \fR\fItty\fR\|\fB: cannot open\fR.  A terminal which is turned
                    140: on in the \fIrc\fR file cannot be opened, likely because the requisite
                    141: lines are either not configured into the system or the associated device
                    142: was not attached during boot-time system configuration.
                    143: .LP
                    144: \fBWARNING: Something is hung (wont die); ps axl advised\fR.  A process
                    145: is hung and could not be killed when the system was shutting down.
                    146: This is usually caused by a process
                    147: which is stuck in a device driver due to a persistent device error condition.
                    148: .SH FILES
                    149: /dev/console,
                    150: /dev/tty*,
                    151: /etc/utmp,
                    152: /usr/adm/wtmp,
                    153: /etc/ttys,
                    154: /etc/rc
                    155: .SH "SEE ALSO"
                    156: login(1), kill(1), sh(1), ttys(5), getty(8), rc(8), reboot(8),
                    157: 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.