APMD(8)

NAME
apmd - Advanced Power Management monitor daemon

SYNOPSIS
apmd [-d] [-s] [-a] [-q] [-t seconds] [-S sockname] [-m sockmode] [-o sockowner:sockgroup] [-f devname]

DESCRIPTION
apmd monitors the advanced power management (APM) pseudo-device, acting on signaled events and upon user requests as sent by the apm(8) utility. For suspend and standby request events delivered by the BIOS, or via apm(8), apmd runs the appropriate configuration program (if one exists), syncs the buffer cache to disk and initiates the requested mode. When resuming after suspend or standby, apmd runs the appropriate configuration utility (if one exists). For power status change events, apmd fetches the current status and reports it via syslog(3) with logging facility LOG_DAEMON.

apmd announces the transition to standby mode with a single high tone on the speaker (using the /dev/speaker device). Suspends are announced with two high tones.

apmd periodically polls the APM driver for the current power state. If the battery charge level changes substantially or the external power status changes, the new status is logged. The polling rate defaults to once per 10 minutes, but may be specified using the -t command-line flag.

If the -s flag is specified, the current battery statistics are reported via syslog(3) and apmd exits without monitoring the APM status.

If the -a flag is specified, any BIOS-initiated suspend or standby requests are ignored if the system is connected to line current and not running from batteries (user requests are still honored).

If the -d flag is specified, apmd enters debug mode, logging to facility LOG_LOCAL1 and staying in the foreground on the controlling terminal.

If the -q flag is specified, apmd does not announce suspend and standby requests on the speaker.

When a client requests a suspend or stand-by mode, apmd does not wait for positive confirmation that the requested mode has been entered before replying to the client; to do so would mean the client does not get a reply until the system resumes from its sleep state. Rather, apmd replies with the intended state to the client and then places the system in the requested mode after running the configuration script and flushing the buffer cache.

Actions can be configured for the three transitions: suspend, standby and resume. The suspend and standby actions are run prior to apmd performing any other actions (such as disk syncs) and entering the new mode. The resume program is run after resuming from a stand-by or suspended state.

FILES
/etc/apm/suspend, /etc/apm/standby and /etc/apm/resume are the files that contain the host's customized actions. Each file must be an executable binary or shell script suitable for execution by the execve(2) function. If you wish to have the same program or script control all transitions, it may determine which transition is in progress by examining its argv[0] which is set to one of suspend, standby, or resume.

/var/run/apmdev is the default UNIX-domain socket used for communication with apm(8). The -S flag may be used to specify an alternate socket name. The socket is protected by default to mode 0660, UID 0, GID 0; the -m and -o flags may be used to specify different modes or owners/groups, respectively.

/dev/apmctl is the default device used to control the APM kernel driver. The -f flag may be used to specify an alternate device file name.

SEE ALSO
execve(2), syslog(3), apm(4), speaker(4), apm(8), syslogd(8).

REFERENCES
Advanced Power Management (APM) BIOS Interface Specification (revision 1.1), Intel Corporation and Microsoft Corporation.

HISTORY
The apmd command appeared in NetBSD 1.3.