diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 21:07:28 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 21:07:28 -0400 |
| commit | 711594636704defae873be1a355a292505585afd (patch) | |
| tree | 59ee13f863830d8beba6cfd02bbe813dd486c26f /static/v10/man8/init.8 | |
| parent | 3258a063c1f189d7b019e40e525b46bef9b9a7b1 (diff) | |
docs: Added UNIX V10 Manuals
Diffstat (limited to 'static/v10/man8/init.8')
| -rw-r--r-- | static/v10/man8/init.8 | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/static/v10/man8/init.8 b/static/v10/man8/init.8 new file mode 100644 index 00000000..72def2a8 --- /dev/null +++ b/static/v10/man8/init.8 @@ -0,0 +1,147 @@ +.TH INIT 8 +.CT 1 sa_auto secur +.SH NAME +init \- process control initialization +.SH SYNOPSIS +.B /etc/init +.SH DESCRIPTION +.I Init +is invoked by the kernel as the last step in the boot procedure. +It is always process 1. +.PP +When started normally, +.I init +calls +.IR rc (8). +The security label is set at bottom. +If this succeeds, +.I init +begins multi-user operation. +If +.I rc +fails, +.I init +commences single user operation by executing +a superuser shell, +.IR nosh (8), +with bottom security label, top ceiling, and all privileges. +.PP +When started by a cold boot from the console, +.I init +starts single user operation immediately. +When the single user shell terminates, +.I init +runs +.IR rc +without the parameter, +and begins multi-user operation. +.PP +In multi-user operation, +.IR init 's +role is to create a process for each +directly connected terminal port on which a user may log in. +To begin such operations, it reads the +.IR ttys (5) +file and forks to create a process +for each terminal specified in the file. +Each of these processes opens the appropriate terminal +for reading and writing +on file descriptors 0, 1, 2, and 3 (the standard input and +output, the diagnostic output and +.FR /dev/tty ). +The security label of each port is set to that of file +.FR /etc/floor . +Opening the terminal will usually involve a delay, +since the +.I open +is not completed until someone +dials and carrier is established on the channel. +Then +.IR getty (8) +is called with argument as specified by the second character of +the +.I ttys +file line. +.I Getty +reads the user's name and invokes +.IR login (8) +to log in the user and execute the shell. +.PP +Ultimately the shell will terminate +because of an end-of-file or as a result of hanging up. +The main path of +.IR init , +which has been waiting +for such an event, +wakes up and removes the appropriate entry from the +file +.IR utmp (5), +which records current users, and +makes an entry in +.IR wtmp , +which maintains a history +of logins and logouts. +Then the appropriate terminal is reopened and +.I getty +is +invoked again. +.PP +.I Init +catches signal +.B SIGHUP +and interprets it to mean that +the +.I ttys +file +should be read again. +The shell process on each line that has become inactive +according to +.I ttys +is terminated; +a new process is created for each line added; +lines unchanged in the file are undisturbed. +Thus it is possible to drop or add terminal lines without +rebooting the system by changing the +.I ttys +file and sending a +.I hangup +signal to the +.I init +process: use +.LR "kill -1 1" . +.PP +.I Init +will terminate multi-user operations, +kill all outstanding processes, +and resume single-user mode +if sent signal +.BR SIGTERM : +use +.LR "kill 1" . +.I Init +will wait at most 30 seconds for outstanding processes to die, +to avoid waiting forever. +.PP +If, at bootstrap time, the +.I init +program cannot be executed, +the system will loop in user mode at a low address. +.SH FILES +.nf +.F /dev/console +.F /dev/tty +.F /etc/utmp +.F /usr/adm/wtmp +.F /etc/ttys +.F /etc/rc.nosh +.fi +.SH "SEE ALSO" +.IR login (8), +.IR kill (1), +.IR sh (1), +.IR ttys (5), +.IR getty (8), +.IR rc (8), +.IR reboot (8) +.SH BUGS +The single-user shell has all privileges. |
