Python自动化运维——系统进程管理模块

Posted Infi_chu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python自动化运维——系统进程管理模块相关的知识,希望对你有一定的参考价值。

模块: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()

 

以上是关于Python自动化运维——系统进程管理模块的主要内容,如果未能解决你的问题,请参考以下文章

《Python自动化运维之路》 系统基础信息模块

Python自动化运维——系统性能信息模块

运维自动化之psutil模块

Python 运维常用模块

python运维学习笔记1

运维常用python库&模块