linux下通过go语言获得系统进程cpu使用情况的方法
发布时间:2020-12-16 19:32:47 所属栏目:大数据 来源:网络整理
导读:本篇章节讲解linux下通过go语言获得系统进程cpu使用情况的方法。供大家参考研究。具体分析如下: 这段代码通过linux的系统命令 ps来分析cpu的使用情况,代码如下: 复制代码 代码如下: package main import ( "bytes" "log" "os/exec" "strconv" "st
本篇章节讲解linux下通过go语言获得系统进程cpu使用情况的方法。分享给大家供大家参考。具体分析如下: 这段代码通过linux的系统命令 ps来分析cpu的使用情况,代码如下: 复制代码 代码如下: 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语言程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |