BSD 4_3_Reno development
[unix-history] / usr / share / man / cat8 / init.0
CommitLineData
5eaf1089
C
1
2
3
4INIT(8) 1990 INIT(8)
5
6
7
8N\bNA\bAM\bME\bE
9 init - process control initialization
10
11S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
12 /\b/e\bet\btc\bc/\b/i\bin\bni\bit\bt
13
14D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
15 _\bI_\bn_\bi_\bt is invoked inside UNIX as the last step in the boot
16 procedure. It normally then runs the automatic reboot
17 sequence as described in _\br_\be_\bb_\bo_\bo_\bt(8), and if this succeeds,
18 begins multi-user operation. If the reboot fails, it com-
19 mences single user operation by giving the super-user a
20 shell on the console. It is possible to pass parameters
21 from the boot program to _\bi_\bn_\bi_\bt so that single user operation
22 is commenced immediately. When such single user operation
23 is terminated by killing the single-user shell (i.e. by hit-
24 ting ^D), _\bi_\bn_\bi_\bt runs /_\be_\bt_\bc/_\br_\bc without the reboot parameter.
25 This command file performs housekeeping operations such as
26 removing temporary files, mounting file systems, and start-
27 ing daemons.
28
29 In multi-user operation, _\bi_\bn_\bi_\bt'_\bs role is to create a process
30 for each terminal port on which a user may log in. To begin
31 such operations, it reads the file /_\be_\bt_\bc/_\bt_\bt_\by_\bs and executes a
32 command for each terminal specified in the file. This com-
33 mand will usually be /_\bu_\bs_\br/_\bl_\bi_\bb_\be_\bx_\be_\bc/_\bg_\be_\bt_\bt_\by. _\bG_\be_\bt_\bt_\by opens and
34 initializes the terminal line, reads the user's name and
35 invokes _\bl_\bo_\bg_\bi_\bn to log in the user and execute the Shell.
36
37 Ultimately the Shell will terminate because of an end-of-
38 file either typed explicitly or generated as a result of
39 hanging up. The main path of _\bi_\bn_\bi_\bt, which has been waiting
40 for such an event, wakes up and removes the appropriate
41 entry from the file _\bu_\bt_\bm_\bp, which records current users, and
42 makes an entry in /_\bv_\ba_\br/_\bl_\bo_\bg/_\bw_\bt_\bm_\bp, which maintains a history
43 of logins and logouts. The _\bw_\bt_\bm_\bp entry is made only if a
44 user logged in successfully on the line. Then the appropri-
45 ate terminal is reopened and _\bg_\be_\bt_\bt_\by is reinvoked.
46
47 _\bI_\bn_\bi_\bt catches the _\bh_\ba_\bn_\bg_\bu_\bp signal (signal SIGHUP) and inter-
48 prets it to mean that the file /_\be_\bt_\bc/_\bt_\bt_\by_\bs should be read
49 again. The Shell process on each line which used to be
50 active in _\bt_\bt_\by_\bs but is no longer there is terminated; a new
51 process is created for each added line; lines unchanged in
52 the file are undisturbed. Thus it is possible to drop or
53 add terminal lines without rebooting the system by changing
54 the _\bt_\bt_\by_\bs file and sending a _\bh_\ba_\bn_\bg_\bu_\bp signal to the _\bi_\bn_\bi_\bt pro-
55 cess: use `kill -HUP 1.'
56
57 _\bI_\bn_\bi_\bt will terminate multi-user operations and resume
58 single-user mode if sent a terminate (TERM) signal, i.e.
59 ``kill -TERM 1''. If there are processes outstanding which
60
61
62
63Printed 7/27/90 June 1
64
65
66
67
68
69
70INIT(8) 1990 INIT(8)
71
72
73
74 are deadlocked (due to hardware or software failure), _\bi_\bn_\bi_\bt
75 will not wait for them all to die (which might take for-
76 ever), but will time out after 30 seconds and print a warn-
77 ing message.
78
79 _\bI_\bn_\bi_\bt will cease creating new _\bg_\be_\bt_\bt_\by's and allow the system to
80 slowly die away, if it is sent a terminal stop (TSTP) sig-
81 nal, i.e. ``kill -TSTP 1''. A later hangup will resume full
82 multi-user operations, or a terminate will initiate a single
83 user shell. This hook is used by _\br_\be_\bb_\bo_\bo_\bt(8) and _\bh_\ba_\bl_\bt(8).
84
85 _\bI_\bn_\bi_\bt'_\bs role is so critical that if it dies, the system will
86 reboot itself automatically. If, at bootstrap time, the
87 _\bi_\bn_\bi_\bt process cannot be located, the system will loop in user
88 mode at location 0x13.
89
90D\bDI\bIA\bAG\bGN\bNO\bOS\bST\bTI\bIC\bCS\bS
91 /\b/u\bus\bsr\br/\b/l\bli\bib\bbe\bex\bxe\bec\bc/\b/g\bge\bet\btt\bty\by _\bg_\be_\bt_\bt_\by_\ba_\br_\bg_\bs f\bfa\bai\bil\bli\bin\bng\bg,\b, s\bsl\ble\bee\bep\bpi\bin\bng\bg. A process
92 being started to service a line is exiting quickly each time
93 it is started. This is often caused by a ringing or noisy
94 terminal line. _\bI_\bn_\bi_\bt _\bw_\bi_\bl_\bl _\bs_\bl_\be_\be_\bp _\bf_\bo_\br _\b3_\b0 _\bs_\be_\bc_\bo_\bn_\bd_\bs,
95
96 W\bWA\bAR\bRN\bNI\bIN\bNG\bG:\b: S\bSo\bom\bme\bet\bth\bhi\bin\bng\bg i\bis\bs h\bhu\bun\bng\bg (\b(w\bwo\bon\bnt\bt d\bdi\bie\be)\b);\b; p\bps\bs a\bax\bxl\bl a\bad\bdv\bvi\bis\bse\bed\bd. A
97 process is hung and could not be killed when the system was
98 shutting down. This is usually caused by a process which is
99 stuck in a device driver due to a persistent device error
100 condition.
101
102F\bFI\bIL\bLE\bES\bS
103 /dev/console, /dev/tty*, /var/run/utmp, /var/log/wtmp,
104 /etc/ttys, /etc/rc
105
106S\bSE\bEE\bE A\bAL\bLS\bSO\bO
107 login(1), kill(1), sh(1), ttys(5), crash(8V), getty(8),
108 rc(8), reboot(8), halt(8), shutdown(8)
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129Printed 7/27/90 June 2
130
131
132