天天看点

Python系统进程管理模块

模块:psutil

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

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

安装:

1

2

3

4

<code>wget https:</code><code>//pypi</code><code>.python.org</code><code>/packages/source/p/psutil/psutil-2</code><code>.0.0.</code><code>tar</code><code>.gz --no-check-certificate</code>

<code>tar</code> <code>-zxvf psutil-2.0.0.</code><code>tar</code><code>.gz</code>

<code>cd</code> <code>psutil-2.0.0</code>

<code>python setup.py </code><code>install</code>

进程信息:  

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

进程名称

路径

状态

系统资源利用率

Psutil.Process() 使用方法

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<code>import</code> <code>psutil,datetime</code>

<code>psutil.pids() </code><code># 列出所有进程PID</code>

<code>a </code><code>=</code> <code>psutil.Process(xxx) </code><code># 实例化Process对象,xxx为一个进程的PID</code>

<code>a.name() </code><code># 进程名</code>

<code>a.exe() </code><code># 进程bin路径</code>

<code>a.cwd() </code><code># 进程工作目录绝对路径</code>

<code>a.status() </code><code># 进程状态</code>

<code>a.create_time() </code><code># 进程创建时间,时间戳格式</code>

<code>datetime.datetime.formtimestamp(a.create_time()).strftime(</code><code>'%Y-%m-%d %H:%M:%S'</code><code>) </code><code># 自然时间格式</code>

<code>a.uids() </code><code># 进程UID信息</code>

<code>a.gids() </code><code># 进程GID信息</code>

<code>a.cpu_times() </code><code># 进程CPU时间信息,包括user、system两个CPU时间</code>

<code>a.cpu_affinity() </code><code># get进程CPU亲和度,如果设置进程CPU亲和度,将CPU号作为参数即可</code>

<code>a.memory_percent() </code><code># 进程内存利用率</code>

<code>a.memory_info() </code><code># 进程内存rss、vms信息</code>

<code>a.io_counters() </code><code># 进程IO信息,包括读写IO数及字节数</code>

<code>a.connections() </code><code># 返回打开进程的socket 的namedutples 列表,包括fd、family、laddr等信息</code>

<code>a.num_threads() </code><code># 进程开启的线程数</code>

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

使用方法:

<code>import</code> <code>psutil</code>

<code>from</code> <code>subprocess </code><code>import</code> <code>PIPE</code>

<code># 通过psutil的Popen方法启动的应用程序,可以跟踪被程序运行的所有相关信息</code>

<code>a</code><code>=</code><code>psutil.Popen([</code><code>'/usr/bin/python'</code><code>,</code><code>'-c'</code><code>,</code><code>'print('</code><code>hello</code><code>')'</code><code>],stdout</code><code>=</code><code>PIPE)</code>

<code>a.name()</code>

<code>a.username()</code>

<code>a.communicate()</code>

<code>a.cpu_times()</code>

本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/2050034,如需转载请自行联系原作者