MAN sezione 8 - Torna all'indice
MAN PAGE: APMD(8)Contents
apmd - Advanced Power Management (APM) daemon
apmd [ -c check_seconds ] [ -P proxy_cmd ] [ -p per
cent_to_log ] [ -qVvW ] [ -w warn_percent ] [ -? ] [depre
cated options]
apmd is an APM monitoring daemon, and works in conjunction
with the APM BIOS driver in the OS kernel. It can execute
a command (normally a shell script) when certain events
are reported by the driver, and will log, via syslogd(8),
certain changes in system power status. When the avail
able battery power becomes very low, it can alert all
users on the system using several methods.
When the kernel APM driver notifies the daemon of a pend
ing suspend or standby request, apmd will invoke the
approprate command, log the event, sync(2) data to the
disk, sleep briefly to help ensure all the data actually
gets to the disk, and then tell the APM driver to continue
its operation. However, for "critical" suspends (indicat
ing an emergency shutdown) only the last step (telling the
driver to continue) is performed.
Most uses of this daemon will use the proxy command to
support power conservation activities. This command is
searched for by default in /etc/apmd_proxy and is invoked
with one or two arguments:
start Invoked when the daemon starts. Normally sets sys
tem-wide power policy, such as IDE hard drive
standby times, to account for whether battery power
is in use.
stop Invoked when the daemon stops. Normally undoes any
policy settings done when the daemon started.
suspend [ system | user ]
Invoked when the APM driver reports that system
suspension has been initiated. The second parame
ter indicates whether the BIOS or a user action
(such as closing a laptop) initiated suspension.
The BIOS "suspend" mode aggressively conserves
power, and normally involves shutting off power to
all devices except the CPU core and memory, which
is kept in a very low power mode. Most laptops can
stay suspended, using battery power alone, for sev
eral days. ("Hibernation" is a kind of super-sus
pend, where all that state is written to disk and
the machine uses even less power bcause it can turn
off that CPU core, using no battery power at all.
At this writing, Linux does not support hiberna
tion.) PCMCIA devices should be manually suspended
using cardctl(8), and some modular drivers may need
to be unloaded.
standby [ system | user ]
Invoked when the APM driver reports that system
standby has been initiated. The second parameter
indicates whether the BIOS or a user action (such
as invoking apm -s) caused this.
The BIOS "standby" mode slightly conserves power,
and leaves the machine able to respond almost imme
diately to user activity. Most laptops can't stay
in standby mode for even a day, if they must rely
on battery power. Normally, nothing needs to be
done beyond what the BIOS itself will do.
resume [ suspend | standby | critical ]
Invoked when the APM driver reports that system has
resumed normal operation. The second parameter
indicates what sort of mode it was in before,
either the "suspend" mode (possibly a "critical"
suspend) or else "standby" mode.
The system clock must be updated to match the hard
ware clock; this will normally have been handled by
the kernel's APM driver. PCMCIA devices may need
to be manually resumed from standby using card
ctl(8), and some modular drivers may need to be
reloaded or otherwise reinitialized. In the case
of a critical suspend, system state may not have
been completely saved due to an emergency shutdown;
applications and and drivers may be in a confused
state.
change power
This presents a subset of the APM driver "power
change" events, specifically those where AC power
was added or removed. This will often modify the
system wide power policy; for example, so that IDE
hard drives aggressively enter standby mode when
only battery power is available.
change battery
The APM driver has reported that the BIOS thinks
the strength of one (or more) batteries is "low";
at least ten minutes of should power remain.
change capability
Some change in the power management capabilities of
the system was reported. It may have been caused
by operation of some setup utility, or by the
arrival or removal of some devices.
This daemon issues a number of different log messages,
most of which should be self explanatory. The messages
emitted for battery status need some explanation, however.
The information logged contains 4 fields after a "Battery"
or "Charge" label:
1) Rate of discharge (percent/minute). Negative rates
indicate charging.
2) Time since total charge or total discharge (hh:mm:ss).
This value is only useful if it reflects the time
since a 100% or 0% state has been reached. Other
wise, this time is in parentheses, and reflects the
time since the last "important" apmd status change
such as starting the daemon, changing from AC power
to battery power, and so on.
3) Estimate of time left until total discharge (or total
charge), assuming use similar to that since the
last resume ( or since AC was connected). This
time is calculated by apmd itself.
4) Parenthetically, the percent and length of remaining
battery life, as estimated by the APM BIOS (which
is often a conservative estimate from an intelli
gent battery itself). This particular information
is provided with most messages from this daemon.
This daemon supports APM BIOS 1.2 events, though it does
not support some of the advanced features such as multiple
batteries. Also, there is no interaction yet with ACPI
support as found in newer PC hardware.
-c seconds, --check seconds
Controls how many seconds to block on the
/dev/apm_bios device. Normally the daemon blocks
until the APM driver reports an event; this number
may be changed to cause battery charge or discharge
rates to be checked more often.
-P proxy_cmd, --apmd_proxy proxy_cmd
Identifies the command to invoke when certain APM
driver events are reported. See above for informa
tion about the arguments to this script.
-p percent_change, --percentage percent_change
Every time the percentage of available power
changes (discharge or recharge) by percent_change,
log information. The default is 5. Use values
greater than 100 to disable this feature.
-V, --version
Print the daemon's version and exit.
-v, --verbose
Enables verbose mode, where each event reported by
the APM driver is logged.
-W, --wall
In addition to logging low battery status (as
determined either by the -w level or by the APM
BIOS) using syslog(2), also use wall(1) to alert
all users. This is most useful if syslogd(8) is
not set up to write ALERT messages to all users.
If both methods are used, more warnings will be
made during the critical time period.
-w warn_percent, --warn warn_percent
When the battery is not being charged and the per
centage of available power drops below warn_per
cent, log a warning at ALERT level to syslog(2).
If the -W or --wall flag was given, the daemon will
also use wall(1) to alert all users of impending
doom. Give the warning each time the percentage
changes. The default is 10. Use negative values
to disable this feature.
-q, --quiet
Disables the warnings identified by the -W and -w
options. (The APM BIOS on many machines will pro
vide an audible warning when power is about to be
used up, so those extra warnings may not be
needed.)
-?, --help
Prints a usage message and exits.
New software should only use the proxy script, rather than
the following now-deprecated options (most of which have
never appeared in a production release). If they are pro
vided, they take precedence over any proxy command invoca
tion for each event.
-a ac_online_cmd, --ac_online ac_online_cmd
Provides a command to be run when AC power becomes
available, though not when the daemon first starts.
-b ac_offline_cmd, --ac_offline ac_offline_cmd
Provides a command to be run when the machine is
operating on battery power, though not when the
daemon first starts.
-l low_battery_cmd, --low_battery low_battery_cmd
Provides a command to be run when the APM BIOS
judges that battery power is "low".
-s pre_suspend_cmd, --pre_suspend pre_suspend_cmd
Provides a command to be run before suspending
through the driver.
-r post_resume_cmd, --post_resume post_resume_cmd
Provides a command to be run after resuming through
the driver.
-u, --utc
(This option is now completely ignored.) The BIOS
clock is set to UTC (GMT), so the daemon should
pass the -u option to the clock or hwclock program
when coming out of suspend or resume mode, or when
responding to the BIOS update time event.
The first status report printed after a power change may
be inaccurate because the power change occured at a frac
tional percentage that was rounded to a full percentage.
For example, say you are discharging the machine and have
50.9% power, which is reported as 50%. When you start to
charge the machine, it will only have 0.1% left before the
percentage flips to 51%, and the charge rate will be dra
matically over-estimated.
There needs to be a more general hook to let other appli
cations participate in system power management decisions
and policies.
Multiple batteries are currently treated as if they were
just one large one.
/dev/apm_bios
/proc/apm
/etc/apmd/apmd_proxy
This program was written by Rik Faith (faith@cs.unc.edu)
and may be freely distributed under the terms of the GNU
General Public License. There is ABSOLUTELY NO WARRANTY
for this program. The current maintainer is Avery Pen
narun (apenwarr@worldvisions.ca).
apm(1), xapm(1), cardctl(8), hdparm(8), syslogd(8)
10 Jun 1999 5 |