Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
inittab(4)			 File Formats			    inittab(4)

       inittab - script	for init

       The  file  /etc/inittab	controls process dispatching by	init. The pro-
       cesses most typically dispatched	by init	are daemons.

       The inittab file	is composed of entries that are	position dependent and
       have the	following format:


       Each  entry is delimited	by a newline; however, a backslash (\) preced-
       ing a newline indicates a continuation of the entry. Up to 512  charac-
       ters  for  each	entry  are  permitted. Comments	may be inserted	in the
       process field using the convention for  comments	 described  in	sh(1).
       There are no limits (other than maximum entry size) imposed on the num-
       ber of entries in the inittab file. The entry fields are:

       id    One to four characters used to uniquely identify an entry.	Do not
	     use  the  characters "r" or "t" as	the first or only character in
	     this  field.  These  characters  are  reserved  for  the  use  of
	     rlogin(1) and telnet(1).

	     Define the	run level in which this	entry is to be processed. Run-
	     levels effectively	correspond to a	configuration of processes  in
	     the  system.  That	is, each process spawned by init is assigned a
	     run level(s) in which it is allowed to exist. The run levels  are
	     represented by a number ranging from 0 through 6. For example, if
	     the system	is in run level	1, only	those entries having  a	 1  in
	     the rstate	field are processed.

	     When  init	 is requested to change	run levels, all	processes that
	     do	not have an entry in the rstate	field for the target run level
	     are  sent the warning signal SIGTERM and allowed a	5-second grace
	     period before  being  forcibly  terminated	 by  the  kill	signal
	     SIGKILL.  The  rstate  field can define multiple run levels for a
	     process by	selecting more than one	run level in  any  combination
	     from  0 through 6.	If no run level	is specified, then the process
	     is	assumed	to be valid at all run levels 0	through	6.

	     There are three other values, a, b	and c, which can appear	in the
	     rstate  field,  even though they are not true run levels. Entries
	     which have	these characters in the	 rstate	 field	are  processed
	     only when an init or telinit process requests them	to be run (re-
	     gardless of the current run level of the system).	See  init(1M).
	     These  differ  from  run  levels in that init can never enter run
	     level a, b	or c. Also, a request for  the	execution  of  any  of
	     these  processes  does not	change the current run level. Further-
	     more, a process started by	an a, b	or c  command  is  not	killed
	     when  init	 changes levels. They are killed only if their line in
	     inittab is	marked off in the action field,	their line is  deleted
	     entirely from inittab, or init goes into single-user state.

	     Key words in this field tell init how to treat the	process	speci-
	     fied in the process field.	The actions recognized by init are  as

		   If  the  process does not exist, then start the process; do
		   not wait for	its termination	(continue scanning the inittab
		   file),  and when the	process	dies, restart the process.  If
		   the process currently exists, do nothing and	continue scan-
		   ning	the inittab file.

	     wait  When	 init  enters  the  run	level that matches the entry's
		   rstate, start the process and wait for its termination. All
		   subsequent  reads  of the inittab file while	init is	in the
		   same	run level cause	init to	ignore this entry.

	     once  When	init enters a  run  level  that	 matches  the  entry's
		   rstate, start the process, do not wait for its termination.
		   When	it dies, do not	restart	the process. If	init enters  a
		   new	run level and the process is still running from	a pre-
		   vious run level change, the program is not restarted.

	     boot  The entry is	to be processed	only at	init's boot-time  read
		   of  the  inittab file. init is to start the process and not
		   wait	for its	termination; when it dies, it does not restart
		   the	process.  In order for this instruction	to be meaning-
		   ful,	the rstate should be the  default  or  it  must	 match
		   init's run level at boot time. This action is useful	for an
		   initialization function following a hardware	reboot of  the

		   The	entry is to be processed the first time	init goes from
		   single-user to multi-user state after the system is booted.
		   (If	initdefault  is	set to 2, the process runs right after
		   the boot.) init starts the process, waits for its  termina-
		   tion	and, when it dies, does	not restart the	process.

		   Execute  the	 process  associated with this entry only when
		   init	receives a power fail signal, SIGPWR (see signal(3C)).

		   Execute the process associated with this  entry  only  when
		   init	 receives  a power fail	signal,	SIGPWR,	and wait until
		   it terminates before	continuing any processing of inittab.

	     off   If the process associated with this entry is	currently run-
		   ning,  send	the  warning signal SIGTERM and	wait 5 seconds
		   before forcibly terminating the process with	the kill  sig-
		   nal	SIGKILL. If the	process	is nonexistent,	ignore the en-

		   This	instruction is really a	synonym	for  the  respawn  ac-
		   tion.  It is	functionally identical to respawn but is given
		   a different keyword in order	 to  divorce  its  association
		   with	 run levels. This instruction is used only with	the a,
		   b or	c values described in the rstate field.

		   An entry with this action is	scanned	only when init is ini-
		   tially invoked. init	uses this entry	to determine which run
		   level to enter initially. It	does this by taking the	 high-
		   est	run level specified in the rstate field	and using that
		   as its initial state. If the	rstate field is	empty, this is
		   interpreted	as  0123456  and  init will enter run level 6.
		   This	will cause the system to loop (it will go to  firmware
		   and	reboot	continuously).	Additionally, if init does not
		   find	an initdefault entry in	inittab, it requests  an  ini-
		   tial	run level from the user	at reboot time.

		   Entries  of this type are executed before init tries	to ac-
		   cess	the  console  (that  is,  before  the  Console	Login:
		   prompt).  It	 is expected that this entry will be used only
		   to initialize devices that
		    init might try to ask the run level	 question.  These  en-
		   tries  are executed and init	waits for their	completion be-
		   fore	continuing.

	     Specify a command to be executed. The  entire  process  field  is
	     prefixed  with exec and passed to a forked	sh as sh -c 'exec com-
	     mand'. For	this reason, any legal sh syntax  can  appear  in  the
	     process field.

       sh(1), who(1), init(1M),	ttymon(1M), exec(2), open(2), signal(3C)

SunOS 5.9			  9 Mar	2001			    inittab(4)


Want to link to this manual page? Use this URL:

home | help