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()
时间: 2024-10-06 11:27:58

Python自动化运维——系统进程管理模块的相关文章

Python自动化运维之常用模块—logging

在现实生活中,记录日志非常重要.银行转账时会有转账记录:如果有出现什么问题,人们可以通过日志数据来搞清楚到底发生了什么.    对于系统开发.调试以及运行,记录日志都是同样的重要.如果没有日志记录,程序崩溃时你几乎就没办法弄明白到底发生了什么事情.1.简单使用 import logging logging.debug('debug message') logging.info('info message') logging.warn('warn message') logging.error('

Python自动化运维之常用模块-re

1.简介 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行. 2.正则表达式中常用的字符含义2.1 普通字符和11个元字符: 这里需要强调一下反斜杠\的作用: 反斜杠后边跟元字符去除特殊功能:(即将特殊字符转义成普通字符) 反斜杠后边跟普通字符实现特殊功能:(即预定义字符) 引用序号对应的字组所匹配的字符串. >>> import re >

Python自动化运维之常用模块

一.configparser模块 1.配置文件格式如下: # 用户信息 ; 用户信息 [tom] user=tom passwd:123 age=18 is_admin=true salary=31 [jack] user=jack passwd:123 age=18 is_admin=true salary=31 总结:配置文件中使用"[]"来写下面的配置的标题,注释信息可以使用"#"和";"来进行,赋值使用"key = value&

Python自动化运维——DNS处理模块

Infi-chu: http://www.cnblogs.com/Infi-chu/ 模块:dnspython 功能: 支持所有的记录类型 可以用于查询.传输并动态更新ZONE信息 支持TSIG(事务签名)验证消息和EDNS0(扩展DNS) 安装: wget http://www.dnspython.org/kits/1.9.4/dnspython-1.9.4.tar.gz tar -zxvf dnspython-1.9.4.tar.gz cd dnspython-1.9.4 python se

电子书 Python自动化运维:技术与最佳实践.pdf

本书在中国运维领域将有"划时代"的重要意义:一方面,这是国内一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的作者是中国运维领域的"偶像级"人物,本书是他在天涯社区和腾讯近10年工作经验的结晶.因为作者实战经验丰富,所以能高屋建瓴.直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息.服务监控.数据报表.系统安全等基础模块,而且深入讲解了自动化操作.系统管理.配置管理.集群管理及大数据应用等高级功能.重要的是,完整重现了4个

Python自动化运维课程学习--Day2

本文为参加老男孩Python自动化运维课程第二天学习内容的总结. 大致内容如下: 1.python模块初识 2.python程序运行流程 3.python数据类型(只讲了numbers, bool, strings, bytes, list, tuple, dict, set) 4.python数据运算 0.关于本文中所有运行Python代码的环境: --操作系统:Ubuntu 16.10 (Linux 4.8.0) --Python版本:3.5.2 --Python IDE: PyCharm

python自动化运维之集中病毒扫描

1.因为我linux的python是2.6.6,所以因为有些模块是2.7的,先进行升级. 步骤地址:http://www.linuxidc.com/Linux/2014-07/104555.htm 2.安装pyclamd yum install -y clamav clamd clamav-update 安装clamavp的相关程序包 chkconfig --level 235 clamd on /usr/bin/freshclam pyClamd-0.3.15.tar.gz安装包安装 3.vi

(转)Python自动化运维之13、异常处理及反射(__import__,getattr,hasattr,setattr)

Python自动化运维之13.异常处理及反射(__import__,getattr,hasattr,setattr) 一.异常处理 python异常: python的运行时错误称作异常 (1)语法错误:软件的结构上有错误而导致不能被解释器解释或不能被编译器编译 (2)逻辑错误:由于不完整或不合法的输入所致,也可能是逻辑无法生成.计算或者输出结果需要的过程无法执行等 python异常是一个对象,表示错误或意外情况 (1)在python检测到一个错误时,将触发一个异常 python可以通常异常传导机

Python自动化运维Django入门

随着IT运维技术日益更新,近几年运维自动化越来越火,而且学习python的人非常的火爆,尤其是python自动化运维开发,得到了很多前辈的推崇,尤其是老男孩培训中心.老男孩老师.Alex老师等,在这里非常感谢你们. 这里我也记录一下以前学习Django的一点点心得和方法,方便以后自己查阅,如果能帮助初学者是最好的了!好的,其他不多说了,博文滴走起. 一.系统实战环境 系统版本:CnetOS6.5 x86_64 Django版本:Django-1.5.8 MySQL版本:MySQL-5.1.73