Python之——系统进程管理方法

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/78959020

获得当前系统的进程信息,可以让运维人员得知应用程序的运行状态,包括进程的启动时间、查看或设置CPU亲和度、内存使用率、IO信息、socket连接、线程数等,这些信息可以呈现出指定进程是否存活、资源利用情况,为开发人员的代码优化、问题定位提供很好的数据参考。

1、进程信息

# -*- coding:UTF-8 -*-
'''
获取当前系统的进程信息
Created on 2018年1月3日

@author: liuyazhuang
'''
import psutil

#列出所有进程的PID
print psutil.pids()

#实例化一个Process对象,参数为一进程PID
p = psutil.Process(364)
print p.name()

#获取进行bin的路径
print p.exe()

#获取进程工作目录绝对路径
print p.cwd()

#进程的状态
print p.status()

#进程创建的时间
print p.create_time()

#进程uid信息
print p.uids()

#进程gid信息
print p.gids()

#进程CPU时间信息,包括user、system两个CPU时间
print p.cpu_times()

#获取进程cpu的亲和度
print p.cpu_affinity()

#获取进程内存利用率
print p.memory_percent()

#进程内存rss、vms信息
print p.memory_info()

#进程IO信息,包括读写IO数及字节数
print p.io_counters()

#获取打开进程socket的namedutples列表,包括fs、family、laddr等信息
print p.connections()

#进程开启的线程数
print p.num_threads()

2、popen类的使用

# -*- coding:UTF-8 -*-
'''
获取用户启动的应用程序进程信息
Created on 2018年1月3日

@author: liuyazhuang
'''
import psutil
from subprocess import PIPE
from sys import stdout

#启动应用程序,跟踪该应用程序的进程信息
p = psutil.Popen(["D:\\Program Files\\Python27\\python.exe", "-c", "print 'hello'"], stdout = PIPE)

print p.name()

print p.username()

print p.communicate()

try:
    print p.cpu_times()
except:
    print "获取不到p.cpu_times()"


你可能感兴趣的:(Python)