---
name: "hotplugd"
section: "8"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/hotplugd"
---

# hotplugd(8)

devices hot plugging monitor daemon

## NAME

**hotplugd** – devices hot plugging monitor daemon

## SYNOPSIS

**hotplugd** \[**-d** *device*\]

## DESCRIPTION

The **hotplugd** daemon monitors the [hotplug(4)](/hotplug/4.md) pseudo-device, acting on signaled events by executing the scripts in the */etc/hotplug* directory. By default it uses the */dev/hotplug* device for reading events from, but an alternative device can be specified with the **-d** option.

Actions can be configured either for device attachment or detachment. On device attachment the *attach* script is executed if it exists. On device detachment the *detach* script is executed if it exists. In both cases two parameters are passed to the scripts: the class and name of the attached or detached device. The device class corresponds to the classes described in the ⟨sys/device.h⟩ header file and can be one of the following:

- 0

  generic, no special info

- 1

  CPU (carries resource utilization)

- 2

  disk drive

- 3

  network interface

- 4

  tape device

- 5

  serial line interface

Not all classes are really usable. For example, it's unlikely that a CPU will be hotplugged.

The device name is the usual name, as listed in [MAKEDEV(8)](/MAKEDEV/8.md), and the unit number, e.g. *sd1*.

## FILES

- */dev/hotplug*

  Pseudo-device file.

- */etc/hotplug*

  Directory where the scripts to execute are located.

- */etc/hotplug/attach*

  Script to execute on device attachment.

- */etc/hotplug/detach*

  Script to execute on device detachment.

## EXAMPLES

Sample *attach* script:

```
#!/bin/sh
DEVCLASS=$1
DEVNAME=$2
case $DEVCLASS in
2)
	# disk devices
	disklabel=`/sbin/disklabel $DEVNAME 2&1 | \
	    sed -n '/^label: /s/^label: //p'`
	case $disklabel in
	Sony*DSC*)
		# Sony DSC camera
		mount -o nodev,nosuid /dev/"$DEVNAME"i /mnt/camera
		;;
	esac
	;;
3)
	# network devices; requires hostname.$DEVNAME
	sh /etc/netstart $DEVNAME
	;;
esac
```

## SEE ALSO

[hotplug(4)](/hotplug/4.md)

## HISTORY

The **hotplugd** program first appeared in OpenBSD 3.6.

## AUTHORS

The **hotplugd** program was written by Alexander Yurchenko ⟨*grange@openbsd.org*⟩.
