zoukankan      html  css  js  c++  java
  • Python自动化运维——系统进程管理模块

    Infi-chu:

    http://www.cnblogs.com/Infi-chu/

    模块:psutil

    psutil是一个跨平台库,可以很轻松的为我们实现获取系统运行的进程和资源利用率等信息。

    功能:主要是为了系统监控

    安装:

    wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz --no-check-certificate
    
    tar -zxvf psutil-2.0.0.tar.gz
    cd psutil-2.0.0
    python setup.py install
    

      

    进程信息:

    进行信息主要包括以下几个部分:

    1. 进程名称
    2. 路径
    3. 状态
    4. 系统资源利用率

    Psutil.Process() 使用方法

    #import psutil,datetime
    
    #psutil.pids() # 列出所有进程PID
    
    #a = psutil.Process(xxx) # 实例化Process对象,xxx为一个进程的PID
    
    #a.name() # 进程名
    
    #a.exe() # 进程bin路径
    
    #a.cwd() # 进程工作目录绝对路径
    
    #a.status() # 进程状态
    
    #a.create_time() # 进程创建时间,时间戳格式
    
    #datetime.datetime.formtimestamp(a.create_time()).strftime('%Y-%m-%d %H:%M:%S') # 自然时间格式
    
    #a.uids() # 进程UID信息
    
    #a.gids() # 进程GID信息
    
    #a.cpu_times() # 进程CPU时间信息,包括user、system两个CPU时间
    
    #a.cpu_affinity() # get进程CPU亲和度,如果设置进程CPU亲和度,将CPU号作为参数即可
    
    #a.memory_percent() # 进程内存利用率
    
    #a.memory_info() # 进程内存rss、vms信息
    
    #a.io_counters() # 进程IO信息,包括读写IO数及字节数
    
    #a.connections() # 返回打开进程的socket 的namedutples 列表,包括fd、family、laddr等信息
    
    #a.num_threads() # 进程开启的线程数
    

    popen类的使用:

    作用:获取用户启动的应用程序进程信息,以便跟踪程序进程的运行状态

    使用方法:

    #import psutil
    
    #from subprocess import PIPE
    
    # 通过psutil的Popen方法启动的应用程序,可以跟踪被程序运行的所有相关信息
    
    #a=psutil.Popen(['/usr/bin/python','-c','print('hello')'],stdout=PIPE)
    
    #a.name()
    
    #a.username()
    
    #a.communicate()
    
    #a.cpu_times()
    
  • 相关阅读:
    SpringBoot异步处理请求
    5本最佳的 Java 面向对象理论和设计模式的书籍
    彻底弄懂 HTTP 缓存机制 —— 基于缓存策略三要素分解法
    Java 性能优化的五大技巧
    Java 8 最佳技巧
    Java 并发的四种风味:Thread、Executor、ForkJoin 和 Actor
    在 Java 8 中避免 Null 检查
    关于创建java线程池问题的思考
    LuoguP1858 多人背包(DP)
    Luogu[YNOI2019]排序(DP,线段树)
  • 原文地址:https://www.cnblogs.com/Infi-chu/p/8007542.html
Copyright © 2011-2022 走看看