Linux apmd命令介绍
apmd是一个Linux命令,它是Advanced Power Management (APM) daemon的缩写。APM是一种BIOS驱动程序,它可以监控电池电量,并在需要时请求进入睡眠或挂起模式。apmd可以执行一些命令(通常是shell脚本),来响应BIOS驱动程序报告的一些事件,例如电源状态的变化,低电量的警告,系统的恢复等。apmd还可以通过syslogd命令,将一些重要的信息记录到系统日志中。apmd是一个后台运行的服务程序,它可以通过/etc/init.d/apmd或service apmd来启动或停止。
Linux apmd命令适用的Linux版本
apmd命令适用于支持APM的Linux版本,通常是较旧的内核版本,如2.4.x或2.6.x。对于较新的内核版本,如3.x或4.x,通常使用ACPI(Advanced Configuration and Power Interface)来管理电源,因此不需要apmd命令。如果你的Linux版本不支持apmd命令,你可以尝试安装apmd软件包,或者使用其他的电源管理工具,如pm-utils或powertop。不同的Linux发行版可能有不同的安装命令,例如,在CentOS 7中,你可以使用以下命令来安装apmd软件包:
[linux@bashcommandnotfound.cn ~]$ sudo yum install apmd
而在CentOS 8中,你可以使用以下命令来安装apmd软件包:
[linux@bashcommandnotfound.cn ~]$ sudo dnf install apmd
Linux apmd命令的基本语法
apmd命令的基本语法格式如下:
apmd [选项]
Linux apmd命令的常用选项说明
apmd命令有一些常用的选项,可以用来控制它的行为和输出。以下是一些常用选项的说明:
选项 | 说明 |
---|---|
-c seconds, --check seconds | 设置检查/dev/apm_bios设备的时间间隔,单位是秒。默认情况下,apmd会阻塞等待BIOS驱动程序报告事件,这个选项可以改变检查电池充放电速率的频率。 |
-P proxy_cmd, --apmd_proxy proxy_cmd | 设置当BIOS驱动程序报告某些事件时,执行的命令。通常是一个shell脚本,可以根据不同的事件参数来执行不同的操作。 |
-p percent_change, --percentage percent_change | 设置每当电池电量百分比变化(充电或放电)超过percent_change时,记录信息。默认值是5。如果设置值大于100,则禁用这个功能。 |
-V, --version | 显示apmd的版本信息并退出。 |
-v, --verbose | 启用详细模式,记录BIOS驱动程序报告的每个事件。 |
-W, --wall | 除了使用syslog记录低电量状态(由-w选项或BIOS决定)外,还使用wall命令向所有用户发出警告。这在syslogd没有设置将ALERT信息发送给所有用户的情况下很有用。如果两种方法都使用,那么在临界时间段内会发出更多的警告。 |
-w warn_percent, --warn warn_percent | 当电池不在充电状态时,且电池电量百分比低于warn_percent时,使用ALERT级别向syslog记录警告信息。如果使用了-W或--wall选项,apmd还会使用wall命令向所有用户发出警告。每当电量百分比变化时,都会发出警告。默认值是10。如果设置为负数,则禁用这个功能。 |
-q, --quiet | 禁用由-W和-w选项指定的警告。(许多机器的BIOS在电量即将耗尽时会发出声音警告,因此可能不需要额外的警告。) |
-?, --help | 显示apmd的用法信息并退出。 |
Linux apmd命令的实例
以下是一些使用apmd命令的实例,可以帮助你更好地理解和使用这个命令。
启动apmd服务
如果你的系统没有自动启动apmd服务,你可以使用以下命令来手动启动它:
[linux@bashcommandnotfound.cn ~]$ sudo /etc/init.d/apmd start
或者
[linux@bashcommandnotfound.cn ~]$ sudo service apmd start
停止apmd服务
如果你想停止apmd服务,你可以使用以下命令来手动停止它:
[linux@bashcommandnotfound.cn ~]$ sudo /etc/init.d/apmd stop
或者
[linux@bashcommandnotfound.cn ~]$ sudo service apmd stop
显示apmd的版本信息
如果你想查看apmd的版本信息,你可以使用以下命令:
[linux@bashcommandnotfound.cn ~]$ apmd -V
输出类似于:
apmd (APM 3.2.2) 3.2.2
启用详细模式
如果你想查看apmd记录的所有事件,你可以使用以下命令来启用详细模式:
[linux@bashcommandnotfound.cn ~]$ sudo apmd -v
这样,你可以在/var/log/messages文件中查看apmd的日志信息,例如:
Nov 10 09:24:34 linux apmd[1234]: Battery charge: 100% (high)
Nov 10 09:25:34 linux apmd[1234]: Battery charge: 99% (high)
Nov 10 09:26:34 linux apmd[1234]: Battery charge: 98% (high)
...
设置检查电池充放电速率的时间间隔
如果你想设置检查电池充放电速率的时间间隔,你可以使用-c或--check选项来指定秒数。例如,如果你想每10秒检查一次,你可以使用以下命令:
[linux@bashcommandnotfound.cn ~]$ sudo apmd -c 10
设置当电源状态变化时执行的命令
如果你想设置当电源状态变化时执行的命令,你可以使用-P或--apmd_proxy选项来指定一个shell脚本。这个脚本可以根据不同的事件参数来执行不同的操作,例如调整屏幕亮度,关闭无线网卡,挂载或卸载设备等。例如,如果你想使用/etc/apm/apmd_proxy.sh作为你的代理命令,你可以使用以下命令:
[linux@bashcommandnotfound.cn ~]$ sudo apmd -P /etc/apm/apmd_proxy.sh
设置记录电池电量变化的百分比阈值
如果你想设置记录电池电量变化的百分比阈值,你可以使用-p或--percentage选项来指定一个数字。例如,如果你想每当电池电量变化超过10%时,记录信息,你可以使用以下命令:
[linux@bashcommandnotfound.cn ~]$ sudo apmd -p 10
设置发出低电量警告的百分比阈值
如果你想设置发出低电量警告的百分比阈值,你可以使用-w或--warn选项来指定一个数字。例如,如果你想当电池电量低于20%时,发出警告,你可以使用以下命令:
[linux@bashcommandnotfound.cn ~]$ sudo apmd -w 20
如果你还想使用wall命令向所有用户发出警告,你可以加上-W或--wall选项,例如:
[linux@bashcommandnotfound.cn ~]$ sudo apmd -w 20 -W
禁用低电量警告
如果你想禁用低电量警告,你可以使用-q或--quiet选项,例如:
[linux@bashcommandnotfound.cn ~]$ sudo apmd -q
Linux apmd命令的注意事项
使用apmd命令时,有一些注意事项,以下是一些常见的:
- apmd命令只适用于支持APM的Linux版本,对于较新的内核版本,通常使用ACPI来管理电源,因此不需要apmd命令。你可以使用apm -V命令来检查你的系统是否支持APM。
- apmd命令需要root权限来运行,因此你需要使用sudo或su命令来提升权限。
- apmd命令需要/dev/apm_bios设备来与APM BIOS驱动程序通信,如果你的系统没有这个设备,你可以使用mknod命令来创建它,例如:
[linux@bashcommandnotfound.cn ~]$ sudo mknod /dev/apm_bios c 10 134
- apmd命令可以通过修改/etc/sysconfig/apmd文件来配置,例如,你可以在这个文件中指定代理命令,检查间隔,警告阈值等选项。
- apmd命令可以通过修改/etc/apm/event.d目录下的文件来响应不同的事件,例如,你可以在这个目录中创建或修改一些shell脚本,来处理挂起,恢复,电源状态变化等事件。
评论区