python获取进程CPU使用率与内存使用率

发布时间:2020-06-10编辑:脚本学堂
python获取指定进程的CPU使用率与内存使用率,python中psutil模块取得cpu、内存使用率的例子,需要的朋友参考下。

代码:(python/psutil/ target=_blank class=infotextkey>psutil模块的例子)
 

复制代码 代码示例:
#!/usr/bin/env python
import psutil,time 
 
def getProcessInfo(p):  
"""取出指定进程占用的进程名,进程ID,进程实际内存, 虚拟内存,CPU使用率
""" 
try: 
cpu = int(p.get_cpu_percent(interval=0))  
rss, vms = p.get_memory_info()  
name = p.name  
pid = p.pid  
except psutil.error.NoSuchProcess, e: 
name = "Closed_Process" 
pid = 0 
rss = 0 
vms = 0 
cpu = 0 
return [name.upper(), pid, rss, vms, cpu] 
 
def getAllProcessInfo(): 
"""取出全部进程的进程名,进程ID,进程实际内存, 虚拟内存,CPU使用率
""" 
instances = [] 
all_processes = list(psutil.process_iter())  
for proc in all_processes:  
proc.get_cpu_percent(interval=0)  
#此处sleep1秒是取正确取出CPU使用率的重点 
time.sleep(1)  
for proc in all_processes:  
instances.append(getProcessInfo(proc)) 
return instances 

2、使用psutil模块 获取进程ID
 

复制代码 代码示例:

#!/usr/bin/env python
import psutil 
import re 
import sys 

def processinfo(x): 
p = psutil.get_process_list() 
for r in p: 
aa = str(r) 
f = re.compile(x,re.I) 
if f.search(aa): 
#print aa.split('pid=')[1].split(',')[0]  
print aa.split('pid=') 
processinfo(sys.argv[1])