Как получить температуру CPU, GPU и т.д. на golang?
Были уже похожие вопросы, но конкретно про windows и к тому же без ответов или с неработающими ответами.
Я пробовал такой код:
package main
import (
"fmt"
"github.com/ssimunic/gosensors"
)
func main() {
sensors, err := gosensors.NewFromSystem()
// sensors, err := gosensors.NewFromFile("/path/to/log.txt")
if err != nil {
panic(err)
}
// Sensors implements Stringer interface,
// so code below will print out JSON
fmt.Println(sensors)
// Also valid
// fmt.Println("JSON:", sensors.JSON())
// Iterate over chips
for chip := range sensors.Chips {
// Iterate over entries
for key, value := range sensors.Chips[chip] {
// If CPU or GPU, print out
if key == "CPU" || key == "GPU" {
fmt.Println(key, value)
}
}
}
}
Но пакету gosensors нужен lm-sensors который очевидно на windows не поставить, а мне нужна кросс-платформенная программа.
Так как всё-таки получить температуру CPU и GPU на GoLang?