Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.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
C++ 如何在同一位置的所有Linux发行版中找到包含CPU温度和风扇速度信息的文件?_C++_File_Ubuntu_Interface_Health Monitoring - Fatal编程技术网

C++ 如何在同一位置的所有Linux发行版中找到包含CPU温度和风扇速度信息的文件?

C++ 如何在同一位置的所有Linux发行版中找到包含CPU温度和风扇速度信息的文件?,c++,file,ubuntu,interface,health-monitoring,C++,File,Ubuntu,Interface,Health Monitoring,我正在做一个项目,我必须得到CPU温度(包括核心)和风扇速度 对于我的电脑,我使用了/sys/class/hwmon/hwmon2/temp*\u输入/sys/class/hwmon/hwmon3/device/fan*\u输入 我的代码在其他一些电脑上不起作用。首先,操作系统是Ubuntu 18.04,第二个是16.04。我想找到一个通用的路径,从那里我可以获得所有必要的信息。有类似的东西我可以用吗?没有,没有这样的东西。 您想要读取的不同度量值分散在系统上,具体取决于驱动程序/模块甚至Lin

我正在做一个项目,我必须得到CPU温度(包括核心)和风扇速度

对于我的电脑,我使用了
/sys/class/hwmon/hwmon2/temp*\u输入
/sys/class/hwmon/hwmon3/device/fan*\u输入


我的代码在其他一些电脑上不起作用。首先,操作系统是Ubuntu 18.04,第二个是16.04。我想找到一个通用的路径,从那里我可以获得所有必要的信息。有类似的东西我可以用吗?

没有,没有这样的东西。

您想要读取的不同度量值分散在系统上,具体取决于驱动程序/模块甚至Linux风格

你必须找到你想要得到的读数,在哪里可以得到,或者通过特定的工具

/sys/class/hwmon/
是最接近的


如果您想查看支持的内容,可以找到一些有关hwmon的文档。

此命令将显示当前温度:

cat /sys/class/thermal/thermal_zone*/temp
温度监控和风扇控制使用名为
hwmon
的标准内核接口实现。您可以配置
sysfs
lm_传感器
接口以显示风扇转速和温度。查看以下指南以了解更多详细答案:


恐怕没有通用的方法。很糟糕,但这就是你的生活。您只需探索不同的选项,查看当前系统上的工作方式并处理它。

首先,我尝试编写一个代码,查找所有名为temp\u input和fan\u input的文件。找到这些文件后,我读取了存储在这些文件上的数据。此代码在以前安装了hwmon接口的所有linux机器上都能完美地工作

它可以从/sysfs接口读取,可以从/sys/clsss/thermal或/sys/class/hwmon读取

有关详细信息,请浏览以下链接:


没有这样的运气。有各种各样的温度读数驱动程序/模块,并且没有标准化的方式来报告结果。Hwmon很可能是你能达到的“标准”。好吧。但是Hwmon文件夹的内容在每台电脑上都不一样。我怎么能普遍阅读它的内容呢?恐怕没有普遍的方法。很糟糕,但这就是你的生活。你只需要探索不同的选项,看看什么在当前系统上起作用,然后处理它。好的。谢谢。这很有帮助。考虑到你提供的文件系统密钥和测试结果,我认为这不是一个坏问题(或者当然不值得-2)。尝试它应该提供一种跨平台的方式来读取Linux 2.6.5及更高版本上的一些度量值。您需要在BSD、OS X、Solaris和其他操作系统上使用不同的库。我现在无法通过任何代码。我所解释的原则非常有效。