2002-10-20 22:15:17 +00:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 2002 M. Warner Losh.
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
|
|
|
.\" $FreeBSD$
|
|
|
|
.\"
|
2016-10-05 20:04:36 +00:00
|
|
|
.Dd October 5, 2016
|
2002-10-20 22:15:17 +00:00
|
|
|
.Dt DEVD 8
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm devd
|
2003-03-03 11:51:30 +00:00
|
|
|
.Nd "device state change daemon"
|
2002-10-20 22:15:17 +00:00
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
2014-03-07 23:30:48 +00:00
|
|
|
.Op Fl dnq
|
2005-11-24 14:39:41 +00:00
|
|
|
.Op Fl f Ar file
|
2013-01-30 15:21:18 +00:00
|
|
|
.Op Fl l Ar num
|
2002-10-20 22:15:17 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
daemon provides a way to have userland programs run when certain
|
|
|
|
kernel events happen.
|
|
|
|
.Pp
|
|
|
|
The following options are accepted.
|
2006-09-17 22:49:26 +00:00
|
|
|
.Bl -tag -width ".Fl f Ar file"
|
2002-10-20 22:15:17 +00:00
|
|
|
.It Fl d
|
2013-07-01 21:20:17 +00:00
|
|
|
Run in the foreground instead of becoming a daemon and log additional information for debugging.
|
2005-11-24 14:39:41 +00:00
|
|
|
.It Fl f Ar file
|
|
|
|
Use configuration file
|
|
|
|
.Ar file
|
|
|
|
instead of the default
|
|
|
|
.Pa /etc/devd.conf .
|
|
|
|
If option
|
|
|
|
.Fl f
|
|
|
|
is specified more than once, the last file specified is used.
|
2013-01-30 15:21:18 +00:00
|
|
|
.It Fl l Ar num
|
2014-08-14 22:33:56 +00:00
|
|
|
Limit concurrent socket connections to
|
2013-01-30 15:21:18 +00:00
|
|
|
.Ar num .
|
|
|
|
The default connection limit is 10.
|
2003-04-21 06:26:08 +00:00
|
|
|
.It Fl n
|
2003-05-17 22:21:27 +00:00
|
|
|
Do not process all pending events before becoming a daemon.
|
2003-09-26 12:24:16 +00:00
|
|
|
Instead, call daemon right away.
|
2014-03-07 23:30:48 +00:00
|
|
|
.It Fl q
|
2016-10-05 20:04:36 +00:00
|
|
|
Quiet mode.
|
|
|
|
Only log messages at priority LOG_WARNING or above.
|
2002-10-20 22:15:17 +00:00
|
|
|
.El
|
|
|
|
.Sh IMPLEMENTATION NOTES
|
2003-03-03 11:51:30 +00:00
|
|
|
The
|
2002-12-27 12:15:40 +00:00
|
|
|
.Nm
|
2003-03-03 11:51:30 +00:00
|
|
|
utility
|
2002-11-13 19:31:04 +00:00
|
|
|
is a system daemon that runs in the background all the time.
|
|
|
|
Whenever a device is added to or removed from the device tree,
|
|
|
|
.Nm
|
2002-11-13 20:27:46 +00:00
|
|
|
will execute actions specified in
|
|
|
|
.Xr devd.conf 5 .
|
|
|
|
For example,
|
2002-11-13 19:31:04 +00:00
|
|
|
.Nm
|
2002-11-13 20:27:46 +00:00
|
|
|
might execute
|
|
|
|
.Xr dhclient 8
|
2003-03-03 11:51:30 +00:00
|
|
|
when an Ethernet adapter is added to the system, and kill the
|
2002-11-13 20:27:46 +00:00
|
|
|
.Xr dhclient 8
|
|
|
|
instance when the same adapter is removed.
|
|
|
|
Another example would be for
|
|
|
|
.Nm
|
|
|
|
to use a table to locate and load via
|
|
|
|
.Xr kldload 8
|
|
|
|
the proper driver for an unrecognized device that is added to the system.
|
2002-10-20 22:15:17 +00:00
|
|
|
.Pp
|
2003-03-03 11:51:30 +00:00
|
|
|
The
|
2002-12-27 12:15:40 +00:00
|
|
|
.Nm
|
2003-03-03 11:51:30 +00:00
|
|
|
utility
|
2002-10-20 22:15:17 +00:00
|
|
|
hooks into the
|
|
|
|
.Xr 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
|
2002-11-13 19:31:04 +00:00
|
|
|
deliver information about the event to
|
2002-10-20 22:15:17 +00:00
|
|
|
.Nm .
|
2002-12-27 12:15:40 +00:00
|
|
|
Once
|
|
|
|
.Nm
|
2002-10-20 22:15:17 +00:00
|
|
|
has parsed the message, it will search its action list for that kind
|
2002-11-13 19:31:04 +00:00
|
|
|
of event and perform the action with the highest matching value.
|
2002-10-20 22:15:17 +00:00
|
|
|
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.
|
|
|
|
.Pp
|
2003-03-03 11:51:30 +00:00
|
|
|
The
|
2002-11-13 19:31:04 +00:00
|
|
|
.Nm
|
2003-03-03 11:51:30 +00:00
|
|
|
utility
|
|
|
|
reads
|
|
|
|
.Pa /etc/devd.conf
|
2005-11-24 14:39:41 +00:00
|
|
|
or the alternate configuration file specified with a
|
|
|
|
.Fl f
|
|
|
|
option and uses that file to drive the rest of the process.
|
2002-12-27 12:15:40 +00:00
|
|
|
While the format of this file is described in
|
2003-03-03 11:51:30 +00:00
|
|
|
.Xr devd.conf 5 ,
|
2002-10-20 22:15:17 +00:00
|
|
|
some basics are covered here.
|
2003-03-03 11:51:30 +00:00
|
|
|
In the
|
|
|
|
.Ic options
|
|
|
|
section, one can define multiple directories to search
|
2002-10-20 22:15:17 +00:00
|
|
|
for config files.
|
2005-01-10 16:17:34 +00:00
|
|
|
All files in these directories whose names match the pattern
|
2004-11-28 17:44:22 +00:00
|
|
|
.Pa *.conf
|
|
|
|
are parsed.
|
2002-10-20 22:15:17 +00:00
|
|
|
These files are intended to be installed by third party vendors that
|
2002-11-13 19:31:04 +00:00
|
|
|
wish to hook into the
|
|
|
|
.Nm
|
|
|
|
system without modifying the user's other
|
2002-10-20 22:15:17 +00:00
|
|
|
config files.
|
2004-07-01 07:24:18 +00:00
|
|
|
.Pp
|
2014-08-14 22:33:56 +00:00
|
|
|
Since
|
|
|
|
.Xr devctl 4
|
|
|
|
allows only one active reader,
|
2004-07-01 07:24:18 +00:00
|
|
|
.Nm
|
2014-08-14 22:33:56 +00:00
|
|
|
multiplexes it, forwarding all events to any number of connected clients.
|
|
|
|
Clients connect by opening the SOCK_SEQPACKET
|
2004-07-07 19:57:16 +00:00
|
|
|
.Ux
|
|
|
|
domain socket at
|
2014-08-14 22:33:56 +00:00
|
|
|
.Pa /var/run/devd.seqpacket.pipe .
|
2005-11-24 14:39:41 +00:00
|
|
|
.Sh FILES
|
2014-08-14 22:33:56 +00:00
|
|
|
.Bl -tag -width ".Pa /var/run/devd.seqpacket.pipe" -compact
|
2005-11-24 14:39:41 +00:00
|
|
|
.It Pa /etc/devd.conf
|
|
|
|
The default
|
|
|
|
.Nm
|
|
|
|
configuration file.
|
2014-08-14 22:33:56 +00:00
|
|
|
.It Pa /var/run/devd.seqpacket.pipe
|
2005-11-24 14:39:41 +00:00
|
|
|
The socket used by
|
|
|
|
.Nm
|
|
|
|
to communicate with its clients.
|
2014-08-14 22:33:56 +00:00
|
|
|
.It Pa /var/run/devd.pipe
|
|
|
|
A deprecated socket retained for use with old clients.
|
2005-11-24 14:39:41 +00:00
|
|
|
.El
|
2002-10-20 22:15:17 +00:00
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr devctl 4 ,
|
2011-12-16 10:21:01 +00:00
|
|
|
.Xr devd.conf 5
|
2016-10-05 20:04:36 +00:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
|
|
|
utility first appeared in
|
|
|
|
.Fx 5.0 .
|
2002-10-20 22:15:17 +00:00
|
|
|
.Sh AUTHORS
|
|
|
|
.An M. Warner Losh
|