Я не знаю, чего ты действительно хочешь. Программа 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.