|
@@ -0,0 +1,38 @@
|
|
|
|
+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)
|
|
|
|
+ }
|
|
|
|
+}
|