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

FreeBSD Manual Pages

  
 
  

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

NAME
       devd -- device state change daemon

SYNOPSIS
       devd [-dnq] [-f file] [-l num]

DESCRIPTION
       The  devd daemon	provides a way to have userland	programs run when cer-
       tain kernel events happen.

       The following options are accepted.

       -d	Run in the foreground instead of becoming a daemon and log ad-
		ditional information for debugging.

       -f file	Use  configuration  file   file	  instead   of	 the   default
		/etc/devd.conf.	 If option -f is specified more	than once, the
		last file specified is used.

       -l num	Limit  concurrent socket connections to	num.  The default con-
		nection	limit is 10.

       -n	Do not process all pending events before  becoming  a  daemon.
		Instead, call daemon right away.

       -q	Quiet  mode.   Only  log  messages  at priority	LOG_WARNING or
		above.

IMPLEMENTATION NOTES
       The devd	utility	is a system daemon that	runs in	the background all the
       time.  Whenever a device	is added to or removed from the	 device	 tree,
       devd will execute actions specified in devd.conf(5).  For example, devd
       might execute dhclient(8) when an Ethernet adapter is added to the sys-
       tem,  and  kill	the  dhclient(8) instance when the same	adapter	is re-
       moved.  Another example would be	for devd to use	a table	to locate  and
       load  via  kldload(8) the proper	driver for an unrecognized device that
       is added	to the system.

       The devd	utility	hooks into the devctl(4) device	driver.	  This	device
       driver  has hooks into the device configuration system.	When nodes are
       added or	deleted	from the tree, this device  will  deliver  information
       about  the  event  to  devd.  Once devd has parsed the message, it will
       search its action list for that kind of event and  perform  the	action
       with  the  highest  matching value.  For	most mundane uses, the default
       handlers	are adequate.  However,	for more advanced users, the power  is
       present to tweak	every aspect of	what happens.

       The  devd  utility  reads /etc/devd.conf	or the alternate configuration
       file specified with a -f	option and uses	that file to drive the rest of
       the  process.   While  the  format  of  this  file  is	described   in
       devd.conf(5), some basics are covered here.

       In  the	options	section, one can define	multiple directories to	search
       for config files.  The default  config  file  specifies	/etc/devd  and
       /usr/local/etc/devd  as	directories to search.	All files in these di-
       rectories whose names match the pattern *.conf are parsed.  These files
       are intended to be installed by third party vendors that	wish  to  hook
       into the	devd system without modifying the user's other config files.

       Since  devctl(4)	 allows	 only  one active reader, devd multiplexes it,
       forwarding all events to	any number of connected	clients.  Clients con-
       nect  by	  opening   the	  SOCK_SEQPACKET   Unix	  domain   socket   at
       /var/run/devd.seqpacket.pipe.

FILES
       /etc/devd.conf		     The default devd configuration file.
       /var/run/devd.seqpacket.pipe  The  socket  used	by devd	to communicate
				     with its clients.
       /var/run/devd.pipe	     A deprecated socket retained for use with
				     old clients.

SEE ALSO
       devctl(4), devd.conf(5)

HISTORY
       The devd	utility	first appeared in FreeBSD 5.0.

AUTHORS
       M. Warner Losh

FreeBSD	13.2		       October 19, 2021			       DEVD(8)

NAME | SYNOPSIS | DESCRIPTION | IMPLEMENTATION NOTES | FILES | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=devd&manpath=FreeBSD+14.2-RELEASE+and+Ports>

home | help