1、命令简介
apmd命令用于进阶电源管理服务程序。apmd负责BIOS进阶电源管理(APM)相关的记录,警告与管理工作。
2、命令用法
apmd [ -TVWciqv ] [ -P program ] [ -T seconds ] [ -c seconds] [ -p percent ] [ -v level] [ -w percent]
3、命令描述
apmd是高级电源管理(APM)子系统的监视守护进程。APM子系统由电源管理硬件、通常称为APM BIOS的固件和操作系统内核中的驱动程序组成。当APM子系统报告事件时,守护进程可以执行一个程序(通常是一个shell脚本),并通过syslogd(8)记录电源状态的某些变化。当可用电池电量非常低时,它可以提醒用户。
当APM子系统通知守护进程一个挂起的挂起或备用请求时,apmd将运行一个代理程序,记录事件,将sync(2)数据同步到磁盘,然后通知APM子系统继续它的操作。
电源管理事件的准备工作主要由使用-P
选项指定的代理程序进行。代理程序用一个或两个参数调用:
参数 | 说明 |
start | 在守护进程启动时调用。 |
stop | 当守护进程停止时调用。 |
standby ( system | user ) | |
当APM子系统报告备用系统已启动时调用。 第二个参数指示固件(“system”), 还是软件(“user”)是事件的发起者。 “standby”模式节省电, 但使机器能够几乎立即响应用户活动。 大多数笔记本电脑在电池供电的情况下, 待机时间不能超过几个小时或一天。 通常情况下,“standingby”并不需要做什么特别的准备。 | |
suspend ( system | user ) | |
当APM子系统报告挂起已启动时调用。 第二个参数指示固件(“system”)还是软件(“user”)是事件的发起者。 “suspend”模式有效地节省电量。 通常情况下, 这涉及到关闭除CPU核心和内存以外的所有设备的电源, 它们被置于非常低的功耗模式。 大多数笔记本电脑仅靠电池供电就可以处于关机状态好几天。 (“Hibernation”是一种超级挂起, 所有状态都写入磁盘,机器不使用电源。 APM子系统将休眠视为悬挂。) 在挂起之前,可能需要使用cardctl(8)禁用PCMCIA设备, 如果一些模块化设备驱动程序没有被设计为支持电源管理, 则可能需要卸载它们。 | |
resume ( suspend | standby | critical ) | |
当APM子系统报告计算机已恢复正常操作时调用。 第二个参数指示系统从哪个事件恢复。 (“critical”挂起是APM子系统在紧急情况下执行的挂起。 有些内核不将此事件传递给用户空间。 如果apmd接收事件,它确认事件并立即退出, 而不记录或运行代理程序。) 当恢复时,PCMCIA设备可能需要使用cardctl(8)重新启用, 一些模块驱动程序可能需要重新加载。 注意,在严重挂起的情况下, 系统状态可能没有被完全保存。 | |
change power | |
当APM子系统报告电源状态变化时调用, 例如,从市电到电池电源的切换。 | |
change battery | |
当APM子系统报告一个或多个电池电量不足时调用。 电池的电量可能还能维持几分钟。 | |
change capability | |
当APM子系统报告电源管理功能的一些更改时调用。 它可能是由安装实用程序的操作, 或由设备的安装或删除引起的。 |
apmd会发出各种消息,其中大部分都是不言自明的。电池状态日志包含三个字段,以逗号分隔。第一个字段表示电池的电量占其容量的百分比。第二个字段表示电池是否正在充电、未充电或放电。在可能的情况下,apmd在括号中加入它对充电或放电速率的估计。第三个字段表示电池可以或可以用于为计算机供电的时间。该信息由APM子系统提供。在可能的情况下,apmd在括号中加入了自己对电池寿命(如果放电)或电池充满所需的时间(如果充电)的估计。
4、命令选项
选项 | 描述 |
-P program, --proxy program | |
| 指定接收事件时要执行的代理程序。 |
-T [seconds] , --proxy-timeout [seconds] | |
| 设置代理的超时。如果没有这个选项(或者有这个选项和一个负参数), apmd将无限期地等待代理完成。如果代理进入无限循环或等待, 则机器可能出现崩溃。如果给这个选项一个正整数参数, 那么apmd将只等待代理完成几秒钟, 之后它将记录一个警告,杀死代理, 并继续处理事件。默认值是30秒。 |
-V, --version | |
| 打印输出apmd程序的版本。 |
-W, --wall | 除了使用syslog(2)记录低电量状态(由 apmd还将使用wall(1)提醒所有用户。 如果syslogd(8)没有设置为向所有用户写入警告消息, 这是最有用的。如果同时使用这两种方法, 则会在关键时期发出更多警告。 |
-c [seconds] , --check [seconds] | |
| 控制等待事件的时间。如果没有此选项(或有此选项和负参数), apmd将无限期地等待事件。如果给这个选项一个正整数参数, 那么apmd在检查电池电量并可能发送警告、 调用代理或在日志中创建条目之前只会等待那么多秒。 默认值是30秒。 |
-i, --ignore-bios-battery-low | |
| 导致apmd忽略APM子系统发送的LOW BATTERY信号。 一些固件在错误的时间发出电池电量不足的信号。 注意,低电池事件仍然可能由apmd本身基于警告级别产生。 |
-p percent, --percentage percent | |
| 控制电池状态记录的频率。如果启用了日志记录, 每次电池内容按percent_change更改时都会打印一行新行。 缺省值是5。使用大于100的值来禁用定期记录电池电量。 |
-q, --quiet-bios-battery-low | |
| 当从APM子系统接收到低电池信号时,导致apmd不产生警告。 一些机器上的固件会在电量即将耗尽时发出声音警告, 所以可能不需要额外的警告。 |
-v [level] , --verbose [level] | |
| 守护进程可以生成不同程度的不重要消息。 每个消息被分配为syslogd(8)子系统定义的一个优先级, 从0 (EMERG)到7 (DEBUG)。 此选项设置消息被抑制的阈值级别。如果没有参数, 则阈值增加1,从而使apmd更加冗长。默认值为5 (NOTICE)。 |
-w percent, --warn percent | |
| 当电池未充电且电池内容低于指定的容量百分比, 且当前放电周期中尚未发生此类事件时, apmd将在ALERT日志级别记录一个警告到syslog(2), 并生成一个LOW BATTERY事件。如果给出了-W或--wall选项, 守护进程也将使用wall(1)来警告所有用户。 默认警告级别为10。使用负值禁用此功能。 |
-h, --help | apmd打印简短命令摘要并退出。 |
5、使用示例
1)记录所有的电源管理事件
# apmd -v
2)设置BIOS时钟
# apmd -utc