#!/use/bin/python
# -*- coution: utf-8 -*-
#psutil 是一个跨平台库 能轻松实现获取系统运行的进程和利用率
import psutil
#1.1.2 系统进程管理方法
‘‘‘
获取系统进程信息,得知应用程序的运行状态
*进程启动时间
*cpu亲和度
*内存使用率
*IO信息
*socket连接
*线程数
‘‘‘
#(1)进程信息
#列出所有进程PID
print(psutil.pids())
#实例化一个process对象,参数为进程PID
p = psutil.Process(2539)
print(‘进程名‘,p.name())
print(‘进程bin路径‘,p.exe())
print(‘进程工作目录绝对路径‘,p.cwd())
print(‘进程状态‘,p.status())
print(‘进程创建时间‘,p.create_time())
print(‘进程uid信息‘,p.uids())
print(‘进程gid信息‘,p.gids())
print(‘进程cpu时间信息,包括user,system两个cpu时间‘,p.cpu_times())
print(‘getcpu亲和度,如果要设置cpu亲和度,将CPU作为参赛即可‘,p.cpu_affinity())
print(‘进程内存利用率‘,p.memory_percent())
print(‘进程内存rss,vms信息‘,p.memory_info())
print(‘进程IO信息,包括读写IO数及字节数‘,p.io_counters())
print(‘返回打开进程socket的namedutples列表,包括fs,family,laddr等‘,p.connections())
#popen类的使用
‘‘‘
psutil 提供的popen类的作用是获取用户启动的应用程序进程信息,以便于跟踪进程的运行状态。
‘‘‘
form subprocess import PIPE
#通过psutil的Popen方法启动的应用程序,可以跟踪程序运行的所有相关信息
p = psutil.Popen(["/usr/bin/python","-c","print(‘hello‘)"],stdout=PIPE)
p.name()
p.username()