PWB1/usr/man/man8/init.8

Compare this file to the similar file:
Show the results in this format:

.th INIT VIII 5/31/77
.sh NAME
init  \*-  process control initialization
.sh SYNOPSIS
.bd /etc/init
.sh DESCRIPTION
.it Init
is invoked inside UNIX as the last step in the boot procedure.
Generally its role is to create a process for each
terminal on which a user may log in.
.s3
First,
.it init
checks
to see if the console switches contain 173030.
(This number is likely to vary between
systems.)
If so, the console terminal
.bd /dev/tty8
is opened for reading
and writing and the Shell is invoked immediately.
This feature is used to bring up a single-user system.
When the system is brought up in this way, the
.it getty
and
.it login
routines mentioned below and described elsewhere are not used.
If the Shell terminates,
.it init
starts over looking for the
console switch setting.
.s3
Otherwise, \fIinit\fR
invokes a Shell, with input taken from the
file
.it /etc/rc.
This command file
performs housekeeping
like removing temporary files,
mounting file systems, and starting
daemons.
.s3
Then
.it init
reads the file
.it /etc/ttys
and
forks several times to create a process
for each terminal specified in the file.
Each of these processes opens the appropriate terminal
for reading and writing.  These channels thus
receive file descriptors 0 and 1, the standard input and
output.
Opening the terminal will usually involve a delay,
since the \fIopen\fR is not completed until someone
has dialed up and
established the carrier on the channel.
Then
.it /etc/getty
is called with argument as specified by the last character of
the
.it ttys
file line.
.it Getty
reads the user's name and invokes
.it login
(q.v.)
to log in the user and execute the Shell.
.s3
Ultimately the Shell will terminate
because of an end-of-file either
typed explicitly or generated as a result of hanging up.
The main path of \fIinit\fR, which has been waiting
for such an event,
wakes up and removes the appropriate entry from the
file \fIutmp\fR, which records current users, and
makes an entry in \fI/usr/adm/wtmp\fR, which maintains a history
of logins and logouts.
Then the appropriate terminal is reopened and
.it getty
is
reinvoked.
.s3
.it Init
catches the
.it hangup
signal (signal #1) and interprets it to mean that
the
switches should be examined as in a reboot: if they
indicate a multi-user system, the
.it /etc/ttys
file is read again.
The Shell process on each line which used to be active
in
.it ttys
but is no longer there is terminated;
a new process is created for each added line;
lines unchanged in the file are undisturbed.
Thus it is possible to drop or add phone lines without
rebooting the system by changing the
.it ttys
file and sending a
.it hangup
signal to the
.it init
process: use ``kill \*-1 1.''
.sh FILES
/dev/tty?, /etc/utmp, /usr/adm/wtmp, /etc/ttys, /etc/rc
.sh "SEE ALSO"
login(I), kill(I), sh(I), ttys(V), getty(VIII)