POWERD(8) BSD System Manager's Manual POWERD(8)
powerd -- power management daemon for sysmon
powerd acts upon power management events posted by the kernel's power management facility. When events are posted, powerd translates the
event into a script name and a list of arguments. powerd then runs the script in order to implement the power management policy defined by
the system administrator.
powerd supports the following option:
-d Enable debugging mode. Verbose messages and all messages intended for syslog(8) will be sent to stderr, and powerd will stay in the
foreground of the controlling terminal.
-n Prevent execution of power management scripts.
All configuration of powerd is encapsulated into scripts that are run when power management events occur. The daemon will look for the
scripts from the directory /etc/powerd/scripts.
Configuration scripts are run synchronously; powerd will start the script and wait for its completion before it handles the next event.
Configuration scripts are called with different arguments, depending on the script class. These classes are described in the following sec-
POWER SWITCH SCRIPTS
Power switch scripts are called when a state change event occurs on a power switch device. Power switch scripts are called with two argu-
ments: the device with which the event is associated, and the event type.
The following power switch script names are defined:
power_button This script is called when an event occurs on a power button device.
reset_button This script is called when an event occurs on a reset button device.
sleep_button This script is called when an event occurs on a sleep button device.
lid_switch This script is called when an event occurs on a lid switch device.
acadapter This script is called when an online or offline event occurs on an AC adapter device.
hotkey_button This script is called when an event occurs on a hotkey button device.
The following events are defined for power switch devices:
pressed The button was pressed, the lid was closed, or the AC adapter was connected.
released The button was released, the lid was opened, or the AC adapter was disconnected. Note that power and sleep button devices
usually do not post this type of event.
The following is an example of how a power button script might be invoked when a power button is pressed by the operator:
/etc/powerd/scripts/power_button acpibut0 pressed
envsys(4) scripts are called when a condition was triggered in a sensor. These scripts are called with three arguments: the device associ-
ated, the event type, and the sensor's name. The sensor_drive and the sensor_battery scripts uses a fourth argument: state description.
The following envsys script names are defined:
sensor_battery This script is called when an event occurs on a battery sensor (Wh/Ah/Battery state).
sensor_drive This script is called when an event occurs on a drive sensor.
sensor_fan This script is called when an event occurs on a fan sensor.
sensor_indicator This script is called when an event ocurrs on a indicator/integer sensor.
sensor_power This script is called when an event occurs on a power sensor (W/Ampere).
sensor_resistance This script is called when an event occurs on a resistance sensor (Ohm).
sensor_temperature This script is called when an event occurs on a temperature sensor.
sensor_voltage This script is called when an event occurs on a voltage sensor.
The following events are defined for fan, indicator, power, resistance, temperature, and voltage sensors:
critical A critical condition was triggered.
critical-under A critical under condition was triggered.
critical-over A critical over condition was triggered.
warning-under A warning under condition was triggered.
warning-over A warning over condition was triggered.
The following event is defined for all scripts, but it is only sent if any of the previous events has been previously sent:
normal A normal state/capacity/condition was triggered.
The following events are defined only for battery sensors:
user-capacity Capacity dropped below the limit set by the user.
low-power System is running in low power. This implies that the AC adapter is disconnected and all batteries are in critical or
low capacity. The script shutdowns the system gracefully by default.
The following events are defined for drive and battery sensors:
state-changed The state of the sensor has been changed and it is not in the normal state.
The following is an example of how a temperature sensor script might be invoked when a critical over condition is triggered:
/etc/powerd/scripts/sensor_temperature lm0 critical-over "CPU Temp"
acpi(4), acpiacad(4), acpibut(4), acpilid(4), envsys(4), i386/apm(4)
powerd first appeared in NetBSD 2.0. Support to handle envsys(4) events appeared in NetBSD 5.0.
powerd was written by Jason R. Thorpe <firstname.lastname@example.org> and contributed by Wasabi Systems, Inc.
Juan Romero Pardines added support to handle envsys(4) events.
Due to its synchronous nature powerd cannot be trusted to handle events within a certain time.
December 15, 2010 BSD