main.go 720 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package main
  2. import (
  3. "bufio"
  4. "fmt"
  5. "os/exec"
  6. "strings"
  7. )
  8. func main() {
  9. // 调用mpstat命令获取CPU使用情况,这里假设系统已经安装了sysstat包
  10. cmd := exec.Command("mpstat", "-P", "ALL")
  11. stdout, err := cmd.StdoutPipe()
  12. if err != nil {
  13. fmt.Println("Error creating stdout pipe:", err)
  14. return
  15. }
  16. if err := cmd.Start(); err != nil {
  17. fmt.Println("Error starting command:", err)
  18. return
  19. }
  20. scanner := bufio.NewScanner(stdout)
  21. fmt.Println("CPU Usage:")
  22. for scanner.Scan() {
  23. line := scanner.Text()
  24. // 跳过标题行
  25. if strings.Contains(line, "CPU") {
  26. continue
  27. }
  28. fmt.Println(line)
  29. }
  30. if err := cmd.Wait(); err != nil {
  31. fmt.Println("Error waiting for command:", err)
  32. }
  33. }