一个使用Go语言编写的示例代码,用于获取计算机的主板信息、CPU温度和内存使用情况。因为Go语言并没有提供直接获取主板信息的标准库,因此这个示例主要涵盖了CPU温度和内存使用情况。
package main
import (
"fmt"
"os/exec"
"strings"
)
func getCPUInfo() {
cmd := exec.Command("cat", "/proc/cpuinfo")
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println("无法获取CPU信息:", err)
return
}
fmt.Println("CPU信息:")
fmt.Println(string(output))
}
func getCPUUsage() {
cmd := exec.Command("mpstat", "1", "1")
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println("无法获取CPU使用率:", err)
return
}
lines := strings.Split(string(output), "\n")
for _, line := range lines {
if strings.Contains(line, "all") && strings.Contains(line, "all") {
fields := strings.Fields(line)
usage := fields[len(fields)-1]
fmt.Printf("CPU使用率: %s\n", usage)
}
}
}
func getMemoryInfo() {
cmd := exec.Command("free", "-m")
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println("无法获取内存信息:", err)
return
}
fmt.Println("内存信息:")
fmt.Println(string(output))
}
func main() {
getCPUInfo()
getCPUUsage()
getMemoryInfo()
}
注意, 示例代码使用Go语言和命令行工具来获取计算机的一些基本信息,包括CPU信息、CPU使用率和内存信息。请注意,示例中的命令和参数是基于Linux系统的,如果在其他操作系统上使用,你需要相应地更改命令和参数。
要运行这个示例代码,请确保系统上已安装了mpstat
和free
等命令行工具,这些工具用于获取CPU使用率和内存信息。然后,你可以运行这个Go程序来获取基本的系统信息。
获取更详细的主板信息通常需要使用专门的硬件监控工具或特定的API来获取,而这些信息可能不容易通过纯粹的Go编程来获得。本文部分代码引用自OsMonitor phần mềm giám sát mạng LAN