INIT(VII) 6/15/72 INIT(VII) NAME init - process control initialization SYNOPSIS /etc/init DESCRIPTION Init is invoked inside UNIX as the last step in the boot procedure. Generally its role is to create a process for each typewriter on which a user may log in. First, init checks to see if the console switches contain 173030. (This number is likely to vary between systems.) If so, the console typewriter tty 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 getty and login routines mentioned below and described elsewhere are not needed. Otherwise, init invokes a Shell, with input taken from the file /etc/rc. This command file performs housekeeping like removing temporary files, mounting file systems, and starting the data-phone daemon. Then init forks several times to create a process for each typewriter mentioned in an internal table. Each of these processes opens the appropriate typewriter for reading and writing. These channels thus receive file descriptors 0 and 1, the standard input and output. Opening the typewriter will usually involve a delay, since the open is not completed until someone is dialled up and carrier established on the channel. Then the process executes the program /etc/getty (q.v.). Getty will read the user's name and invoke login (q.v.) to log in the user and execute the shell. 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 init, which has been waiting for such an event, wakes up and removes the appropriate entry from the file utmp, which records current users, and makes an entry in wtmp, which maintains a history of logins and logouts. Then the appropriate typewriter is reopened and getty is reinvoked. FILES /dev/tty, /dev/tty?, /tmp/utmp, /tmp/wtmp, SEE ALSO login(I), getty(VII), sh(I)