Bootstrap

Go语言编写的示例代码,用于监控计算机的CPU温度内存使用情况

一个使用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系统的,如果在其他操作系统上使用,你需要相应地更改命令和参数。

要运行这个示例代码,请确保系统上已安装了mpstatfree等命令行工具,这些工具用于获取CPU使用率和内存信息。然后,你可以运行这个Go程序来获取基本的系统信息。

获取更详细的主板信息通常需要使用专门的硬件监控工具或特定的API来获取,而这些信息可能不容易通过纯粹的Go编程来获得。本文部分代码引用自OsMonitor phần mềm giám sát mạng LAN

;