Solución:
Hay una API de “zona térmica sysfs” más reciente (consulte también el artículo de LWN y el documento del kernel de Linux) que muestra las temperaturas en, por ejemplo,
/sys/class/thermal/thermal_zone0/temp
Las lecturas están en milésimas de grados centígrados (aunque en los granos más antiguos, es posible que solo hayan sido en grados C).
Recientemente implementé esto en psutil solo para Linux.
>>> import psutil
>>> psutil.sensors_temperatures()
{'acpitz': [shwtemp(label="", current=47.0, high=103.0, critical=103.0)],
'asus': [shwtemp(label="", current=47.0, high=None, critical=None)],
'coretemp': [shwtemp(label="Physical id 0", current=52.0, high=100.0, critical=100.0),
shwtemp(label="Core 0", current=45.0, high=100.0, critical=100.0),
shwtemp(label="Core 1", current=52.0, high=100.0, critical=100.0),
shwtemp(label="Core 2", current=45.0, high=100.0, critical=100.0),
shwtemp(label="Core 3", current=47.0, high=100.0, critical=100.0)]}
Si su Linux es compatible con ACPI, leer pseudoarchivo /proc/acpi/thermal_zone/THM0/temperature
(el camino puede diferir, sé que es /proc/acpi/thermal_zone/THRM/temperature
en algunos sistemas) debería hacerlo. Pero no creo que haya una forma que funcione en cada Linux en el mundo, ¡así que tendrás que ser más específico sobre exactamente qué Linux tienes! -)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)