源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

linux下通过go语言获得系统进程cpu使用情况的方法

  • 时间:2021-03-17 22:05 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:linux下通过go语言获得系统进程cpu使用情况的方法
本文实例讲述了linux下通过go语言获得系统进程cpu使用情况的方法。分享给大家供大家参考。具体分析如下: 这段代码通过linux的系统命令 ps来分析cpu的使用情况,代码如下:
[u]复制代码[/u] 代码如下:
package main import (     "bytes"     "log"     "os/exec"     "strconv"     "strings" ) type Process struct {     pid int     cpu float64 } func main() {     cmd := exec.Command("ps", "aux")     var out bytes.Buffer     cmd.Stdout = &out     err := cmd.Run()     if err != nil {         log.Fatal(err)     }     processes := make([]*Process, 0)     for {         line, err := out.ReadString('\n')         if err!=nil {             break;         }         tokens := strings.Split(line, " ")         ft := make([]string, 0)         for _, t := range(tokens) {             if t!="" && t!="\t" {                 ft = append(ft, t)             }         }         log.Println(len(ft), ft)         pid, err := strconv.Atoi(ft[1])         if err!=nil {             continue         }         cpu, err := strconv.ParseFloat(ft[2], 64)         if err!=nil {             log.Fatal(err)         }         processes = append(processes, &Process{pid, cpu})     }     for _, p := range(processes) {         log.Println("Process ", p.pid, " takes ", p.cpu, " % of the CPU")     } }
希望本文所述对大家的Go语言程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部