Linux/Python:如何无轮询监控 /proc/acpi 文件?

3 投票
1 回答
1687 浏览
提问于 2025-04-15 19:52

有没有什么方法可以监控 /proc 文件,比如说

/proc/acpi/battery/BAT0/state
/proc/acpi/ac_adapter/ADP0/state

像在普通文件系统中使用 inotify 那样,不需要轮询?

我想在一个 PyGTK 应用程序中实现这个功能,所以我试着用 PyGObject 的 gio.FileMonitor,但没有成功。最好能有一个和 gtk.main() 兼容的 Python 解决方案。

1 个回答

2

你可以通过监听ACPI事件来获取你想要的信息。最好不要直接去看(/proc/acpi/event)这个文件,而是通过acpid或者其他更高级的接口来获取。

更新一下,另一个更高级的接口是DeviceKit-power / UPower提供的DBus接口。

/proc里的文件并不是普通的文件,而是一个简单的接口,用来显示内核的状态,所以很多针对普通文件的功能在这里是无法使用的。

撰写回答