Я не знаю, чего ты действительно хочешь. Программа lm-sensor (и, следовательно, sensors
команда) использует библиотеку libsensor ; если вы используете Ubuntu 18.04, это libsensors4 , версия 3.4.0-4. Это та же библиотека, которая считывает температуру, как видно из sys
каталога.
Подводя итог, датчики это хороший выбор. Для постоянного наблюдения за температурой используйте
watch -n 1 sensors
Если вы хотите написать программу, вы должны взглянуть на libsensors с man libsensors
или посмотреть в /usr/share/doc/
. Вы должны включить #include <sensors/sensors.h>
. Он будет использовать sensors.conf
файлы /etc/sensors3.conf и / или /etc/sensors.conf . Дополнительная (пользовательская) конфигурация может быть найдена в /etc/sensors.d/
, если используется.
Если вы считаете, что вам не хватает некоторых датчиков, взгляните на /sys/class/thermal
или связанный /sys/devices/virtual/thermal
каталог.
Для получения температур всех термальных зон используйте
$ cat /sys/devices/virtual/thermal/thermal_zone?/temp
77000
66000
67000
Температура измеряется в градусах Цельсия (мС), в случае выше 77,0, 66,0, 67,0 ° C.
Смотреть постоянно использовать
watch -n 1 cat /sys/devices/virtual/thermal/thermal_zone?/temp
В этом каталоге вы также можете найти информацию о ваших охлаждающих (вентиляторных) устройствах и о том, как программируются ПИД-регуляторы.
Я также хотел бы заявить, что некоторая защита от перегрева написана на аппаратном уровне (это хорошая идея), где данные помещаются в ваш BIOS.