• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Golang > linux下通过go语言获得系统进程cpu使用情况的方法

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了linux cpu占用进程,linux查看进程占用cpu,linux查看进程的cpu,linux查看进程,linux查看进程命令等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了linux下通过go语言获得系统进程cpu使用情况的方法。分享给大家供大家参考。具体分析如下:

这段代码通过linux的系统命令 ps来分析cpu的使用情况,代码如下:
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")
    }
}</div>

希望本文所述对大家的Go语言程序设计有所帮助。

</div>

您可能想查找下面的文章:

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

相关文章

  • go语言base64加密解密的方法
  • go语言实现通过FTP库自动上传web日志
  • Go语言生成素数的方法
  • go语言实现一个简单的http客户端抓取远程url的方法
  • golang的HTTP基本认证机制实例详解
  • Go语言struct类型详解
  • 利用Go语言初步搭建一个web应用的教程
  • golang中strconv.ParseInt函数用法示例
  • Go语言扫描目录并获取相关信息的方法
  • go语言channel实现多核并行化运行的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Go语言实现字符串切片赋值的方法小结
    • 深入解析快速排序算法的原理及其Go语言版实现
    • Go语言中关闭带缓冲区的频道实例分析
    • GO语言基础之数组
    • Golang极简入门教程(一):基本概念
    • 解析Go语言编程中的struct结构
    • GO语言基本类型分析
    • go语言按显示长度截取字符串的方法
    • Go语言轻量级线程Goroutine用法实例
    • Go语言流程控制之goto语句与无限循环

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有