Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在linux上,有没有一种不用读取proc/sys文件就可以获取电池信息(状态、已插电等)的方法?_C_Linux_Kernel_Battery_Acpi - Fatal编程技术网

在linux上,有没有一种不用读取proc/sys文件就可以获取电池信息(状态、已插电等)的方法?

在linux上,有没有一种不用读取proc/sys文件就可以获取电池信息(状态、已插电等)的方法?,c,linux,kernel,battery,acpi,C,Linux,Kernel,Battery,Acpi,我想获得关于linux上C语言电池的信息。我不想读取或解析任何文件!是否有任何到acpi/内核或任何其他模块的低级接口来获取我想要的信息 我已经在网上搜索过了,但每个问题的答案都是“parse/proc/foo/bar”。我真的不想这样做,因为我认为,低级接口的变化不会像文件那样快 致以最诚挚的问候。您可能正在寻找UPower: 这是桌面环境和移动设备的共同需求,因此随着时间的推移,出现了许多解决方案。例如,其中一个最古老的是acpid,它现在已经非常过时了 虽然出于代码清晰的原因,我建议使用像

我想获得关于linux上C语言电池的信息。我不想读取或解析任何文件!是否有任何到acpi/内核或任何其他模块的低级接口来获取我想要的信息

我已经在网上搜索过了,但每个问题的答案都是“parse/proc/foo/bar”。我真的不想这样做,因为我认为,低级接口的变化不会像文件那样快


致以最诚挚的问候。

您可能正在寻找UPower:

这是桌面环境和移动设备的共同需求,因此随着时间的推移,出现了许多解决方案。例如,其中一个最古老的是
acpid
,它现在已经非常过时了


虽然出于代码清晰的原因,我建议使用像UPower这样的轻量级抽象,但是
/proc
和(在某种程度上)
/sys
中的文件被认为是Linux内核ABI的一部分,这意味着通常不赞成更改它们。

磁盘上不存在/proc文件系统。相反,内核在内存中创建它。它们在被访问时由内核按需生成。因此,您的担心是无效的,
/proc
文件将随着内核意识到更改而快速更改

查看有关
/proc
文件系统的更多信息


在任何情况下,我都不相信有任何替代接口。

如果你仔细想想,/proc是Unix上Userland的内核接口,特别是在Linux上,文件(或伪文件)是获取信息的正常方式。我不认为你应该搜索其他东西。也许最好在这里问一下:这对我来说很不错。另外,因为我不想在我的代码中包含其他C代码(例如您的upower解决方案)。所以,对我来说,这似乎是唯一简单的方法。谢谢!