最近工作中用到sigar,要用sigar获得相关的CPU信息,内存信息,进程信息等。但是大多数还是能在网上找到的。就只有获得进程的信息怎么找也找不以。今天贴出来和大家分享一下,还请各位指教。

// 获取进程的相关信息以及对进程信息进行包装
    public List<ProcessInfo> getProcessInfo() {
        Ps ps = new Ps();
        List<ProcessInfo> processInfos = new ArrayList<ProcessInfo>();
        try {
            long[] pids = sigar.getProcList();
            for (long pid : pids) {
                List<String> list = ps.getInfo(sigar, pid);
                ProcessInfo info = new ProcessInfo();
                for (int i = 0; i <= list.size(); i++) {
                    switch (i) {
                    case 0:    info.setPid(list.get(0));    break;
                    case 1: info.setUser(list.get(1));    break;
                    case 2: info.setStartTime(list.get(2));    break;
                    case 3:    info.setMemSize(list.get(3));    break;
                    case 4:    info.setMemUse(list.get(4));    break;
                    case 5:    info.setMemhare(list.get(5));    break;
                    case 6:    info.setState(list.get(6));    break;
                    case 7:    info.setCpuTime(list.get(7));    break;
                    case 8:    info.setName(list.get(8));    break;
                    }
                }
                processInfos.add(info);
            }
        } catch (SigarException e) {
            e.printStackTrace();
        }
        return processInfos;
    }

//进程信息的包装类

package com.yangdun.client.vo;

public class ProcessInfo {
   
    private String pid;
   
    private String user;
   
    private String startTime;
   
    private String memSize;
   
    private String memUse;
   
    private String memhare;
   
    private String state;
   
    private String cpuTime;
   
    private String name;

public String getPid() {
        return pid;
    }

public void setPid(String pid) {
        this.pid = pid;
    }

public String getUser() {
        return user;
    }

public void setUser(String user) {
        this.user = user;
    }

public String getStartTime() {
        return startTime;
    }

public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

public String getMemSize() {
        return memSize;
    }

public void setMemSize(String memSize) {
        this.memSize = memSize;
    }

public String getMemUse() {
        return memUse;
    }

public void setMemUse(String memUse) {
        this.memUse = memUse;
    }

public String getMemhare() {
        return memhare;
    }

public void setMemhare(String memhare) {
        this.memhare = memhare;
    }

public String getState() {
        return state;
    }

public void setState(String state) {
        this.state = state;
    }

public String getCpuTime() {
        return cpuTime;
    }

public void setCpuTime(String cpuTime) {
        this.cpuTime = cpuTime;
    }

public String getName() {
        return name;
    }

public void setName(String name) {
        this.name = name;
    }
   
}

sigar获取进程信息相关推荐

  1. python psutil 获取命令历史_Python使用psutil获取进程信息的例子

    psutil是什么 psutil是一个能够获取系统信息(包括进程.CPU.内存.磁盘.网络等)的Python模块.主要用来做系统监控,性能分析,进程管理,像glances也是基于psutil写成的. ...

  2. Python获取磁盘使用信息,python获取GPU信息,python根据进程号获取进程信息,pynvml 获取GPU信息,psutil 获取进程信息,系统信息等

    一.工具:psutil模块 psutil是一个跨平台模块,试用相应方法可以直接获取计算机CPU,内存,磁盘,网络等资源使用情况:可以使用我们学习知识与这模块用来做系统监控,性能分析:如果大家熟悉Lin ...

  3. 获取进程的信息 linux,如何获取进程信息

    如何获取进程信息 发布时间:2008-12-10 14:28:50来源:红联作者:kid420 在/proc中有各进程的信息,进入任意一个用cat maps可以看到象下面一样的信息 00ac5000- ...

  4. python psutil 进程cpu_python 模块psutil获取进程信息

    获取进程信息 接续上篇<python 常用内建模块之psutil>安装psutil,并且获取一些基本信息,本篇介绍通过psutil获取到所有进程的详细信息: 1. 获取所有进程ID pri ...

  5. sigar如何获取linux的buffer内存,Linux 下使用Sigar 获取内存信息

    上一篇文章介绍了linux下的sigar 库,并使用sigar 库来获取cpu 使用率,本文在这里介绍一下如何使用sigar 库获取内存信息. 和cpu 一样,sigar中有和内存相关的结构体siga ...

  6. python psutil模块查找进程_psutil获取进程信息

    获取所有进程pid [root@bogon python_auto]# vim process.py !/usr/bin/env python import psutil pids = psutil. ...

  7. muduo:获取进程相关信息

    muduo里面有专门获取进程信息的类,记录一下. // Use of this source code is governed by a BSD-style license // that can b ...

  8. golang 获取cpu 内存 硬盘 使用率 信息 进程信息

    目录 1.获取 cpu 内存 磁盘使用率 2.获取本机信息 3. 获取CPU信息 4. 获取内存信息 5.获取磁盘信息 6.获取网络信息 7. 获取进程信息 使用库: go get github.co ...

  9. VC获取进程的cpu使用率、内存、线程数、句柄数等信息

    //ProcessInfoCollect.h //进程信息采集#pragma once//枚举进程 typedef BOOL(_stdcall *ENUMPROCESS)(DWORD *pProces ...

最新文章

  1. MySQL00-这都不知道还TM学啥MySQL
  2. 公示 | 清华大学大数据研究中心“RONG”奖学金获奖名单
  3. 2022年:机器人技术的重大革命
  4. 软件分类:自由软件、开放源代码软件、公共软件、私有软件、版权所无软件...
  5. Flink 在 58 同城的应用与实践
  6. python集合的加减_python 中对list做减法操作
  7. aspx 修改了样式但是在点击按钮后被刷新_产品经理教程-Axure RP 9 基础操作(元件、布局、草图、样式)...
  8. 利用Referer请求头防止“盗链”
  9. Exadata Griddisk Can't be auto added
  10. 【阅读理解】机器阅读理解方向有什么值得follow的大佬,网站等等?
  11. Java并发编程实践-总结
  12. 苹果怎么应用分身_苹果ios/安卓微信双开技巧
  13. 安全提示:勒索病毒漏洞与CPU漏洞务必小心
  14. 围棋棋盘有多少正方形 19*19
  15. Win10字体模糊怎么办?
  16. u盘写保护,无法格式化
  17. 牛顿莱布尼茨计算机公式,牛顿莱布尼茨公式
  18. 基于eNSP的千人中型校园企业网络设计与规划(可以自己按步骤实现)
  19. linux磁盘分区详解
  20. push_back和emplace_back区别

热门文章

  1. One-Stage Visual Grounding之一种快速准确的单阶段视觉定位
  2. Oracle 常用的V$ 视图脚本
  3. 烟花代码运行示例(C++,easyX)
  4. Spring源码分析之TDDL
  5. git push到远程仓库时出现unable to access 'https://github.com/**': The requested URL returned error: 403
  6. 搜狗拼音带来的俩个烦人的弹窗解决方法
  7. 卷积神经网络的形象理解
  8. 计算机应用数学 教材,计算机应用数学(第2版)
  9. python 图片正方形化
  10. 27.WLAN组网介绍_VLAN在WLAN业务中的应用