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

FreeBSD Manual Pages


home | help
init(8)			    System Manager's Manual		       init(8)

       init - Upstart process management daemon

       init [OPTION]...

       init  is	 the  parent of	all processes on the system, it	is executed by
       the kernel and is responsible for starting all other processes;	it  is
       the  parent  of all processes whose natural parents have	died and it is
       responsible for reaping those when they die.

       Processes managed by init are known as jobs and are defined by files in
       the  /etc/init  directory.  See init(5) for more	details	on configuring

       init(8) is an event-based init daemon.  This means that	jobs  will  be
       automatically  started  and stopped by changes that occur to the	system
       state, including	as a result of jobs starting and stopping.

       This is different to dependency-based init daemons which	start a	speci-
       fied  set  of  goal jobs, and resolve the order in which	they should be
       started and other jobs required by iterating their dependencies.

       For more	information on starting	and stopping jobs, as well as emitting
       events that will	automatically start and	stop jobs, see the manual page
       for the initctl(8) tool.

       The primary event is the	startup(7) event, emitted when the daemon  has
       finished	loading	its configuration.  Other useful events	are the	start-
       ing(7), started(7), stopping(7) and stopped(7) events emitted  as  jobs
       change state.

       See upstart-events(7) for a summary of well-known events.

   System V compatibility
       The Upstart init(8) daemon does not keep	track of runlevels itself, in-
       stead they are implemented entirely by its userspace tools.  The	 event
       emitted	to signify a change of runlevel	is the runlevel(7) event.  For
       more information	see its	manual page.

       Options are passed to init(8) by	placing	them on	 the  kernel  command-

       --confdir directory
	      Read job configuration files from	a directory other than the de-
	      fault (/etc/init for process ID 1).

	      When running as process ID 1, the	last directory specified  will
	      be used.

	      In  user session mode, multiple directories will be honoured and
	      job configuration	files loaded from the directories in the order

       --default-console value
	      Default  value  for jobs that do not specify a 'console' stanza.
	      This could be used for example to	set the	default	to 'none'  but
	      still  honour  jobs  that	 specify explicitly 'console log'. See
	      init(5) for all possible values of console.

	      Do not connect to	a D-Bus	bus.

	      Stop jobs	from inheriting	the initial environment. Only meaning-
	      ful when running in user mode.

       --logdir	directory
	      Write   job   output   log  files	 to  a	directory  other  than
	      /var/log/upstart (system mode) or	$XDG_CACHE_HOME/upstart	 (user
	      session mode).

	      Disable  logging	of job output. Note that jobs specifying 'con-
	      sole log'	will be	treated	as  if	they  had  specified  'console
	      none'.  See init(5) for further details.

	      Disable chroot sessions.

	      Suppress	emission  of  the  initial  startup event. This	option
	      should only be used for testing since it will stop  the  init(8)
	      daemon from starting any jobs automatically.

	      Connect  to  the D-Bus session bus. This should only be used for

       --startup-event event
	      Specify a	different initial  startup  event  from	 the  standard

       --user Starts  in user mode, as used for	user sessions. Upstart will be
	      run as an	unprivileged user, reading  configuration  files  from
	      configuration locations as per roughly XDG Base Directory	Speci-
	      fication.	See init(5) for	further	details.

       -q, --quiet
	      Reduces output messages to errors	only.

       -v, --verbose
	      Outputs verbose messages about job state changes and event emis-
	      sions to the system console or log, useful for debugging boot.

	      Outputs version information and exits.

       init  is	not normally executed by a user	process, and expects to	have a
       process id of 1.	 If this is not	the case,  it  will  actually  execute
       telinit(8)  and	pass  all arguments to that.  See that manual page for
       further details.	However, if the	--user option is  specified,  it  will
       run as a	Session	Init and read alternative configuration	files and man-
       age the individual user session in a similar fashion.

       Sending a Session Init a	SIGTERM	signal is taken	as a request to	 shut-
       down due	to an impending	system shutdown. In this scenario, the Session
       Init will emit the session-end event  and   request  all	 running  jobs
       stop.  It  will attempt to honour jobs kill timeout values (see init(5)
       for further details). Note however that system policy will prevail:  if
       jobs  request  timeout  values longer than the system policy allows for
       complete	system shutdown, it will not be	possible to honour them	before
       the Session Init	is killed by the system.

       When run	as a user process, the following variables may be used to find
       job configuration files:

       o   $XDG_CONFIG_HOME

       o   $XDG_CONFIG_DIRS

       See User	Session	Mode in	init(5)	for further details.






       Written by Scott	James Remnant <>

       Report bugs at <>

       Copyright (C) 2009-2012 Canonical Ltd.
       This is free software; see the source for copying conditions.  There is
       NO  warranty;  not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR

       control-alt-delete(7) init(5) initctl(8)	runlevel(7) startup(7)	start-
       ing(7) started(7) stopping(7) stopped(7)	telinit(8) upstart-events(7)

Upstart				  2012-12-18			       init(8)


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

home | help