1234567891011121314151617181920212223242526272829303132333435363738 |
- package main
- import (
- "bufio"
- "fmt"
- "os/exec"
- "strings"
- )
- func main() {
- // 调用mpstat命令获取CPU使用情况,这里假设系统已经安装了sysstat包
- cmd := exec.Command("mpstat", "-P", "ALL")
- stdout, err := cmd.StdoutPipe()
- if err != nil {
- fmt.Println("Error creating stdout pipe:", err)
- return
- }
- if err := cmd.Start(); err != nil {
- fmt.Println("Error starting command:", err)
- return
- }
- scanner := bufio.NewScanner(stdout)
- fmt.Println("CPU Usage:")
- for scanner.Scan() {
- line := scanner.Text()
- // 跳过标题行
- if strings.Contains(line, "CPU") {
- continue
- }
- fmt.Println(line)
- }
- if err := cmd.Wait(); err != nil {
- fmt.Println("Error waiting for command:", err)
- }
- }
|