拔出/插入充电器时发出的信号是什么

拔出/插入充电器时发出的信号是什么

我想知道当我拔掉笔记本电脑时会向内核发送什么信号。我需要这些信息来编写一个程序来自动切换电源模式。

我目前使用的是 Ubuntu 23.10。

答案1

当我拔掉笔记本电脑时,哪个信号被发送到内核。

不完全是 ”发送核心“因为据我所知你不能从用户空间内拦截它……然而,相关事件可以监听内核...一种方法是使用udevadm像这样:

udevadm monitor -k

我需要这些信息来制作一个程序来自动切换电源模式。

然而,我认为一个更好、更准确、更直接的方法是监控UPower 守护进程upower工具并根据您的喜好过滤其输出,然后通过管道传输到您选择的工具,例如awk像这样:

upower --monitor-detail |
awk '/online:.*yes/ && (a != 1) {
    print "AC"
    a = 1
    b = 0
}

/on-battery:.*yes/ && (b != 1) {
    print "Battery"
    b = 1
    a = 0
}'

...应该打印AC当当前电源变为电源或打印Battery当当前电源变为电池时。

答案2

更简单的方法:

创建一个循环,不断检查 的状态/sys/class/power_supply/ADP1/online。0 = 有线;1 = 无线。ADP1 可以是其他东西,因此使用/sys/class/power_supply/*/online更通用

相关内容