xref: /freebsd/sbin/init/init.8 (revision fbbd9655e5107c68e4e0146ff22b73d7350475bc)
18fae3551SRodney W. Grimes.\" Copyright (c) 1980, 1991, 1993
28fae3551SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
38fae3551SRodney W. Grimes.\"
48fae3551SRodney W. Grimes.\" This code is derived from software contributed to Berkeley by
58fae3551SRodney W. Grimes.\" Donn Seeley at Berkeley Software Design, Inc.
68fae3551SRodney W. Grimes.\"
78fae3551SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
88fae3551SRodney W. Grimes.\" modification, are permitted provided that the following conditions
98fae3551SRodney W. Grimes.\" are met:
108fae3551SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
118fae3551SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
128fae3551SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
138fae3551SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
148fae3551SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
15*fbbd9655SWarner Losh.\" 3. Neither the name of the University nor the names of its contributors
168fae3551SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
178fae3551SRodney W. Grimes.\"    without specific prior written permission.
188fae3551SRodney W. Grimes.\"
198fae3551SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
208fae3551SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
218fae3551SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
228fae3551SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
238fae3551SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
248fae3551SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
258fae3551SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
268fae3551SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
278fae3551SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
288fae3551SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
298fae3551SRodney W. Grimes.\" SUCH DAMAGE.
308fae3551SRodney W. Grimes.\"
318fae3551SRodney W. Grimes.\"     @(#)init.8	8.3 (Berkeley) 4/18/94
327f3dea24SPeter Wemm.\" $FreeBSD$
338fae3551SRodney W. Grimes.\"
342580acbeSSevan Janiyan.Dd October 3, 2016
358fae3551SRodney W. Grimes.Dt INIT 8
369fe48c6eSRuslan Ermilov.Os
378fae3551SRodney W. Grimes.Sh NAME
388fae3551SRodney W. Grimes.Nm init
398fae3551SRodney W. Grimes.Nd process control initialization
408fae3551SRodney W. Grimes.Sh SYNOPSIS
417c7fb079SRuslan Ermilov.Nm
427c7fb079SRuslan Ermilov.Nm
431681d659SRuslan Ermilov.Oo
441681d659SRuslan Ermilov.Cm 0 | 1 | 6 |
451681d659SRuslan Ermilov.Cm c | q
461681d659SRuslan Ermilov.Oc
478fae3551SRodney W. Grimes.Sh DESCRIPTION
488fae3551SRodney W. GrimesThe
495df42cf4SPhilippe Charnier.Nm
50e1205e80SPhilippe Charnierutility
518fae3551SRodney W. Grimesis the last stage of the boot process.
528fae3551SRodney W. GrimesIt normally runs the automatic reboot sequence as described in
531681d659SRuslan Ermilov.Xr rc 8 ,
548fae3551SRodney W. Grimesand if this succeeds, begins multi-user operation.
558fae3551SRodney W. GrimesIf the reboot scripts fail,
565df42cf4SPhilippe Charnier.Nm
571681d659SRuslan Ermilovcommences single-user operation by giving
588fae3551SRodney W. Grimesthe super-user a shell on the console.
598fae3551SRodney W. GrimesThe
605df42cf4SPhilippe Charnier.Nm
61e1205e80SPhilippe Charnierutility may be passed parameters
628fae3551SRodney W. Grimesfrom the boot program to
638fae3551SRodney W. Grimesprevent the system from going multi-user and to instead execute
641681d659SRuslan Ermilova single-user shell without starting the normal daemons.
658fae3551SRodney W. GrimesThe system is then quiescent for maintenance work and may
668fae3551SRodney W. Grimeslater be made to go to multi-user by exiting the
678fae3551SRodney W. Grimessingle-user shell (with ^D).
688fae3551SRodney W. GrimesThis
698fae3551SRodney W. Grimescauses
705df42cf4SPhilippe Charnier.Nm
718fae3551SRodney W. Grimesto run the
728fae3551SRodney W. Grimes.Pa /etc/rc
738fae3551SRodney W. Grimesstart up command file in fastboot mode (skipping disk checks).
748fae3551SRodney W. Grimes.Pp
758fae3551SRodney W. GrimesIf the
765df42cf4SPhilippe Charnier.Em console
778fae3551SRodney W. Grimesentry in the
788fae3551SRodney W. Grimes.Xr ttys 5
791681d659SRuslan Ermilovfile is marked
801681d659SRuslan Ermilov.Dq insecure ,
818fae3551SRodney W. Grimesthen
825df42cf4SPhilippe Charnier.Nm
831681d659SRuslan Ermilovwill require that the super-user password be
848fae3551SRodney W. Grimesentered before the system will start a single-user shell.
858fae3551SRodney W. GrimesThe password check is skipped if the
865df42cf4SPhilippe Charnier.Em console
871681d659SRuslan Ermilovis marked as
881681d659SRuslan Ermilov.Dq secure .
898fae3551SRodney W. Grimes.Pp
90e17c0e32SGary W. SwearingenIf the system security level (see
91e17c0e32SGary W. Swearingen.Xr security 7 )
92e17c0e32SGary W. Swearingenis initially nonzero, then
935df42cf4SPhilippe Charnier.Nm
9438058917SBruce Evansleaves it unchanged.
9538058917SBruce EvansOtherwise,
965df42cf4SPhilippe Charnier.Nm
9767b661fdSSheldon Hearnraises the level to 1 before going multi-user for the first time.
9801de0116SSheldon HearnSince the level cannot be reduced, it will be at least 1 for
9901de0116SSheldon Hearnsubsequent operation, even on return to single-user.
10067b661fdSSheldon HearnIf a level higher than 1 is desired while running multi-user,
10167b661fdSSheldon Hearnit can be set before going multi-user, e.g., by the startup script
10267b661fdSSheldon Hearn.Xr rc 8 ,
1038fae3551SRodney W. Grimesusing
1046ebaa024SJoseph Koshy.Xr sysctl 8
1056ebaa024SJoseph Koshyto set the
106280b191cSKen Smith.Va kern.securelevel
1076ebaa024SJoseph Koshyvariable to the required security level.
1088fae3551SRodney W. Grimes.Pp
109280b191cSKen SmithIf
110280b191cSKen Smith.Nm
111d04b5dfeSRuslan Ermilovis run in a jail, the security level of the
112280b191cSKen Smith.Dq host system
1137090a0c6SRalf S. Engelschallwill not be affected.
114280b191cSKen SmithPart of the information set up in the kernel to support a jail
115e17c0e32SGary W. Swearingenis a per-jail security level.
116280b191cSKen SmithThis allows running a higher security level inside of a jail
117280b191cSKen Smiththan that of the host system.
118280b191cSKen SmithSee
119280b191cSKen Smith.Xr jail 8
120280b191cSKen Smithfor more information about jails.
121280b191cSKen Smith.Pp
1228fae3551SRodney W. GrimesIn multi-user operation,
1235df42cf4SPhilippe Charnier.Nm
1248fae3551SRodney W. Grimesmaintains
1258fae3551SRodney W. Grimesprocesses for the terminal ports found in the file
1268fae3551SRodney W. Grimes.Xr ttys 5 .
127e1205e80SPhilippe CharnierThe
128e1205e80SPhilippe Charnier.Nm
129e1205e80SPhilippe Charnierutility reads this file and executes the command found in the second field,
130f0f4f756SSheldon Hearnunless the first field refers to a device in
131f0f4f756SSheldon Hearn.Pa /dev
132f0f4f756SSheldon Hearnwhich is not configured.
133f0f4f756SSheldon HearnThe first field is supplied as the final argument to the command.
1348fae3551SRodney W. GrimesThis command is usually
1358fae3551SRodney W. Grimes.Xr getty 8 ;
136edf0e5b3SMike Pritchard.Nm getty
1378fae3551SRodney W. Grimesopens and initializes the tty line
1388fae3551SRodney W. Grimesand
1398fae3551SRodney W. Grimesexecutes the
140edf0e5b3SMike Pritchard.Xr login 1
1418fae3551SRodney W. Grimesprogram.
1428fae3551SRodney W. GrimesThe
143edf0e5b3SMike Pritchard.Nm login
1448fae3551SRodney W. Grimesprogram, when a valid user logs in,
1459806e231SRuslan Ermilovexecutes a shell for that user.
1469806e231SRuslan ErmilovWhen this shell
1478fae3551SRodney W. Grimesdies, either because the user logged out
1488fae3551SRodney W. Grimesor an abnormal termination occurred (a signal),
149c21ae3a4SEd Schoutenthe cycle is restarted by
1508fae3551SRodney W. Grimesexecuting a new
151edf0e5b3SMike Pritchard.Nm getty
1528fae3551SRodney W. Grimesfor the line.
1538fae3551SRodney W. Grimes.Pp
154e1205e80SPhilippe CharnierThe
155e1205e80SPhilippe Charnier.Nm
156e1205e80SPhilippe Charnierutility can also be used to keep arbitrary daemons running,
157f0f4f756SSheldon Hearnautomatically restarting them if they die.
158f0f4f756SSheldon HearnIn this case, the first field in the
159f0f4f756SSheldon Hearn.Xr ttys 5
160f0f4f756SSheldon Hearnfile must not reference the path to a configured device node
161f0f4f756SSheldon Hearnand will be passed to the daemon
162f0f4f756SSheldon Hearnas the final argument on its command line.
163f0f4f756SSheldon HearnThis is similar to the facility offered in the
164f0f4f756SSheldon Hearn.At V
165f0f4f756SSheldon Hearn.Pa /etc/inittab .
166f0f4f756SSheldon Hearn.Pp
1678fae3551SRodney W. GrimesLine status (on, off, secure, getty, or window information)
1688fae3551SRodney W. Grimesmay be changed in the
169edf0e5b3SMike Pritchard.Xr ttys 5
1708fae3551SRodney W. Grimesfile without a reboot by sending the signal
1718fae3551SRodney W. Grimes.Dv SIGHUP
1728fae3551SRodney W. Grimesto
1735df42cf4SPhilippe Charnier.Nm
1748fae3551SRodney W. Grimeswith the command
1758fae3551SRodney W. Grimes.Dq Li "kill -HUP 1" .
1768fae3551SRodney W. GrimesOn receipt of this signal,
1775df42cf4SPhilippe Charnier.Nm
1788fae3551SRodney W. Grimesre-reads the
179edf0e5b3SMike Pritchard.Xr ttys 5
1808fae3551SRodney W. Grimesfile.
1818fae3551SRodney W. GrimesWhen a line is turned off in
182edf0e5b3SMike Pritchard.Xr ttys 5 ,
1835df42cf4SPhilippe Charnier.Nm
1848fae3551SRodney W. Grimeswill send a SIGHUP signal to the controlling process
1858fae3551SRodney W. Grimesfor the session associated with the line.
1868fae3551SRodney W. GrimesFor any lines that were previously turned off in the
187edf0e5b3SMike Pritchard.Xr ttys 5
1888fae3551SRodney W. Grimesfile and are now on,
1895df42cf4SPhilippe Charnier.Nm
190f0f4f756SSheldon Hearnexecutes the command specified in the second field.
191f0f4f756SSheldon HearnIf the command or window field for a line is changed,
1928fae3551SRodney W. Grimesthe change takes effect at the end of the current
1938fae3551SRodney W. Grimeslogin session (e.g., the next time
1945df42cf4SPhilippe Charnier.Nm
1958fae3551SRodney W. Grimesstarts a process on the line).
1968fae3551SRodney W. GrimesIf a line is commented out or deleted from
197edf0e5b3SMike Pritchard.Xr ttys 5 ,
1985df42cf4SPhilippe Charnier.Nm
1998fae3551SRodney W. Grimeswill not do anything at all to that line.
2008fae3551SRodney W. Grimes.Pp
201e1205e80SPhilippe CharnierThe
202e1205e80SPhilippe Charnier.Nm
203e1205e80SPhilippe Charnierutility will terminate multi-user operations and resume single-user mode
2048fae3551SRodney W. Grimesif sent a terminate
2058fae3551SRodney W. Grimes.Pq Dv TERM
2068fae3551SRodney W. Grimessignal, for example,
2078fae3551SRodney W. Grimes.Dq Li "kill \-TERM 1" .
2088fae3551SRodney W. GrimesIf there are processes outstanding that are deadlocked (because of
2098fae3551SRodney W. Grimeshardware or software failure),
2105df42cf4SPhilippe Charnier.Nm
2118fae3551SRodney W. Grimeswill not wait for them all to die (which might take forever), but
2128fae3551SRodney W. Grimeswill time out after 30 seconds and print a warning message.
2138fae3551SRodney W. Grimes.Pp
214e1205e80SPhilippe CharnierThe
215e1205e80SPhilippe Charnier.Nm
216e1205e80SPhilippe Charnierutility will cease creating new processes
2178fae3551SRodney W. Grimesand allow the system to slowly die away, if it is sent a terminal stop
2188fae3551SRodney W. Grimes.Pq Dv TSTP
21957e4378bSRuslan Ermilovsignal, i.e.\&
2208fae3551SRodney W. Grimes.Dq Li "kill \-TSTP 1" .
2218fae3551SRodney W. GrimesA later hangup will resume full
2221681d659SRuslan Ermilovmulti-user operations, or a terminate will start a single-user shell.
2238fae3551SRodney W. GrimesThis hook is used by
2248fae3551SRodney W. Grimes.Xr reboot 8
2258fae3551SRodney W. Grimesand
2268fae3551SRodney W. Grimes.Xr halt 8 .
2278fae3551SRodney W. Grimes.Pp
228e1205e80SPhilippe CharnierThe
229e1205e80SPhilippe Charnier.Nm
230e1205e80SPhilippe Charnierutility will terminate all possible processes (again, it will not wait
231e460cfd3SNate Williamsfor deadlocked processes) and reboot the machine if sent the interrupt
232e460cfd3SNate Williams.Pq Dv INT
23357e4378bSRuslan Ermilovsignal, i.e.\&
234e460cfd3SNate Williams.Dq Li "kill \-INT 1".
235e460cfd3SNate WilliamsThis is useful for shutting the machine down cleanly from inside the kernel
2364f3cac8fSAdam Davidor from X when the machine appears to be hung.
237e460cfd3SNate Williams.Pp
238e1205e80SPhilippe CharnierThe
239e1205e80SPhilippe Charnier.Nm
240e1205e80SPhilippe Charnierutility will do the same, except it will halt the machine if sent
241a0a549c7SRuslan Ermilovthe user defined signal 1
242a0a549c7SRuslan Ermilov.Pq Dv USR1 ,
2431681d659SRuslan Ermilovor will halt and turn the power off (if hardware permits) if sent
244a0a549c7SRuslan Ermilovthe user defined signal 2
245a0a549c7SRuslan Ermilov.Pq Dv USR2 .
246a0a549c7SRuslan Ermilov.Pp
2476ebaa024SJoseph KoshyWhen shutting down the machine,
2485df42cf4SPhilippe Charnier.Nm
2498889c700SDavid Nugentwill try to run the
2508889c700SDavid Nugent.Pa /etc/rc.shutdown
251ef8f7ac9SSheldon Hearnscript.
252ef8f7ac9SSheldon HearnThis script can be used to cleanly terminate specific programs such
2538889c700SDavid Nugentas
2548889c700SDavid Nugent.Nm innd
2558889c700SDavid Nugent(the InterNetNews server).
256724447acSRalf S. EngelschallIf this script does not terminate within 120 seconds,
257724447acSRalf S. Engelschall.Nm
2584e9e907dSRuslan Ermilovwill terminate it.
2594e9e907dSRuslan ErmilovThe timeout can be configured via the
260724447acSRalf S. Engelschall.Xr sysctl 8
261724447acSRalf S. Engelschallvariable
262724447acSRalf S. Engelschall.Va kern.init_shutdown_timeout .
2638889c700SDavid Nugent.Pp
2648fae3551SRodney W. GrimesThe role of
2655df42cf4SPhilippe Charnier.Nm
2668fae3551SRodney W. Grimesis so critical that if it dies, the system will reboot itself
2678fae3551SRodney W. Grimesautomatically.
2688fae3551SRodney W. GrimesIf, at bootstrap time, the
2695df42cf4SPhilippe Charnier.Nm
2708fae3551SRodney W. Grimesprocess cannot be located, the system will panic with the message
2711681d659SRuslan Ermilov.Dq "panic: init died (signal %d, exit %d)" .
2721681d659SRuslan Ermilov.Pp
2735d94d8b6SRuslan ErmilovIf run as a user process as shown in the second synopsis line,
2741681d659SRuslan Ermilov.Nm
2751681d659SRuslan Ermilovwill emulate
2761681d659SRuslan Ermilov.At V
2779806e231SRuslan Ermilovbehavior, i.e., super-user can specify the desired
2781681d659SRuslan Ermilov.Em run-level
2791681d659SRuslan Ermilovon a command line, and
2801681d659SRuslan Ermilov.Nm
2811681d659SRuslan Ermilovwill signal the original
282c4d9468eSRuslan Ermilov(PID 1)
2831681d659SRuslan Ermilov.Nm
2841681d659SRuslan Ermilovas follows:
2851681d659SRuslan Ermilov.Bl -column Run-level SIGTERM
286c2965cd1SJoel Dahl.It Sy "Run-level	Signal	Action"
287ef159a1bSEdward Tomasz Napierala.It Cm 0 Ta Dv SIGUSR1 Ta "Halt"
2881681d659SRuslan Ermilov.It Cm 0 Ta Dv SIGUSR2 Ta "Halt and turn the power off"
2891681d659SRuslan Ermilov.It Cm 1 Ta Dv SIGTERM Ta "Go to single-user mode"
2901681d659SRuslan Ermilov.It Cm 6 Ta Dv SIGINT Ta "Reboot the machine"
2911681d659SRuslan Ermilov.It Cm c Ta Dv SIGTSTP Ta "Block further logins"
2921681d659SRuslan Ermilov.It Cm q Ta Dv SIGHUP Ta Rescan the
2931681d659SRuslan Ermilov.Xr ttys 5
2941681d659SRuslan Ermilovfile
2951681d659SRuslan Ermilov.El
2968fae3551SRodney W. Grimes.Sh FILES
2974c2c7b2cSEd Schouten.Bl -tag -width /var/log/init.log -compact
2988fae3551SRodney W. Grimes.It Pa /dev/console
2995df42cf4SPhilippe Charniersystem console device
3008fae3551SRodney W. Grimes.It Pa /dev/tty*
3015df42cf4SPhilippe Charnierterminal ports found in
3025df42cf4SPhilippe Charnier.Xr ttys 5
3038fae3551SRodney W. Grimes.It Pa /etc/ttys
3045df42cf4SPhilippe Charnierthe terminal initialization information file
3058fae3551SRodney W. Grimes.It Pa /etc/rc
3065df42cf4SPhilippe Charniersystem startup commands
3078889c700SDavid Nugent.It Pa /etc/rc.shutdown
3085df42cf4SPhilippe Charniersystem shutdown commands
3094c2c7b2cSEd Schouten.It Pa /var/log/init.log
3104c2c7b2cSEd Schoutenlog of
3114c2c7b2cSEd Schouten.Xr rc 8
3124c2c7b2cSEd Schoutenoutput if the system console device is not available
3138fae3551SRodney W. Grimes.El
3146087df9eSRuslan Ermilov.Sh DIAGNOSTICS
3156087df9eSRuslan Ermilov.Bl -diag
3166087df9eSRuslan Ermilov.It "getty repeating too quickly on port %s, sleeping."
3176087df9eSRuslan ErmilovA process being started to service a line is exiting quickly
3186087df9eSRuslan Ermiloveach time it is started.
3196087df9eSRuslan ErmilovThis is often caused by a ringing or noisy terminal line.
3206087df9eSRuslan Ermilov.Bf -emphasis
3216087df9eSRuslan ErmilovInit will sleep for 30 seconds,
3226087df9eSRuslan Ermilovthen continue trying to start the process.
3236087df9eSRuslan Ermilov.Ef
3246087df9eSRuslan Ermilov.It "some processes would not die; ps axl advised."
3256087df9eSRuslan ErmilovA process
3266087df9eSRuslan Ermilovis hung and could not be killed when the system was shutting down.
3276087df9eSRuslan ErmilovThis condition is usually caused by a process
3286087df9eSRuslan Ermilovthat is stuck in a device driver because of
3296087df9eSRuslan Ermilova persistent device error condition.
3306087df9eSRuslan Ermilov.El
3318fae3551SRodney W. Grimes.Sh SEE ALSO
3328fae3551SRodney W. Grimes.Xr kill 1 ,
333af202156SWolfram Schneider.Xr login 1 ,
3348fae3551SRodney W. Grimes.Xr sh 1 ,
3358fae3551SRodney W. Grimes.Xr ttys 5 ,
3364e9e907dSRuslan Ermilov.Xr security 7 ,
3378fae3551SRodney W. Grimes.Xr getty 8 ,
338af202156SWolfram Schneider.Xr halt 8 ,
339280b191cSKen Smith.Xr jail 8 ,
3408fae3551SRodney W. Grimes.Xr rc 8 ,
3418fae3551SRodney W. Grimes.Xr reboot 8 ,
3426ebaa024SJoseph Koshy.Xr shutdown 8 ,
3436ebaa024SJoseph Koshy.Xr sysctl 8
3448fae3551SRodney W. Grimes.Sh HISTORY
345a0a549c7SRuslan ErmilovAn
3468fae3551SRodney W. Grimes.Nm
347e1205e80SPhilippe Charnierutility appeared in
3482580acbeSSevan Janiyan.At v1 .
3496ebaa024SJoseph Koshy.Sh CAVEATS
3508fae3551SRodney W. GrimesSystems without
3519680d7b6SPhilippe Charnier.Xr sysctl 8
3528fae3551SRodney W. Grimesbehave as though they have security level \-1.
3536ebaa024SJoseph Koshy.Pp
35404b2ac6eSGuy HelmerSetting the security level above 1 too early in the boot sequence can
3556ebaa024SJoseph Koshyprevent
3566ebaa024SJoseph Koshy.Xr fsck 8
3579806e231SRuslan Ermilovfrom repairing inconsistent file systems.
3589806e231SRuslan ErmilovThe
3596ebaa024SJoseph Koshypreferred location to set the security level is at the end of
3606ebaa024SJoseph Koshy.Pa /etc/rc
3616ebaa024SJoseph Koshyafter all multi-user startup actions are complete.
362