校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > linux下通過go語言獲得系統進程cpu使用情況的方法

linux下通過go語言獲得系統進程cpu使用情況的方法

熱門標簽:海外照相館地圖標注入駐 工商信用卡外呼系統教程 滁州自建外呼系統 客服級電銷機器人 外呼系統如何接收服務密碼 智能營銷軟件 經常接到推銷電話機器人的電話 外呼系統多少錢一年 旅游廁所如何電子地圖標注

本文實例講述了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語言程序設計有所幫助。

您可能感興趣的文章:
  • go語言使用pipe讀取子進程標準輸出的方法
  • go語言通過管道連接兩個命令行進程的方法
  • golang與PHP輸出excel示例
  • golang模板template自定義函數用法示例
  • golang實現http服務器處理靜態文件示例
  • golang簡單獲取上傳文件大小的實現代碼
  • golang實現簡單的udp協議服務端與客戶端示例
  • golang簡單tls協議用法完整示例
  • golang守護進程用法示例

標簽:晉城 運城 喀什 楚雄 九江 本溪 深圳 湘潭

巨人網絡通訊聲明:本文標題《linux下通過go語言獲得系統進程cpu使用情況的方法》,本文關鍵詞  linux,下,通過,語言,獲得,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux下通過go語言獲得系統進程cpu使用情況的方法》相關的同類信息!
  • 本頁收集關于linux下通過go語言獲得系統進程cpu使用情況的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 泾川县| 左贡县| 苗栗市| 衡东县| 华阴市| 涞源县| 淳安县| 平果县| 宜昌市| 永泰县| 田东县| 富阳市| 民勤县| 沈丘县| 南溪县| 唐山市| 兴海县| 辛集市| 临城县| 郓城县| 泾川县| 梅州市| 盐城市| 高要市| 崇信县| 芦山县| 临洮县| 长治市| 瑞丽市| 峡江县| 福建省| 舒城县| 凤冈县| 苏尼特右旗| 明水县| 吴忠市| 上杭县| 牟定县| 蒙山县| 三门县| 沂水县|