#coding=utf-8
import psutil
import sys
import time
try:
#輸入需要監測的進程PID
PID = raw_input('ProcessPID: ')
def get_cpu_info():
reload(sys)
sys.setdefaultencoding('utf-8')
#將結果記錄到本地文本
text = open('D:\\CPUresult.txt', 'w')
i = 0
#博主新手靠這樣來現實循環
while i < 100000000000000:
i = i + 1
#找出本機CPU的邏輯核個數
cpucount = psutil.cpu_count(logical=True)
#傳入進程PID,實現監測功能
process = psutil.Process(int(PID))
cpupercent = process.cpu_percent(interval=2)
#得到進程CPU占用,同資源檢測管理器的數據
cpu = int(cpupercent / cpucount)
if cpu <= 50:
print u'CPU使用率:%s%%' % cpu + ' ' + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print>> text, u'CPU使用率:%s%%' % cpu + ' ' + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
else:
print u'CPU使用率:%s%%,占用率過高' % cpu + ' ' + time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print>> text, u'CPU使用率:%s%%,占用率過高' % cpu + ' ' + time.strftime('%Y-%m-%d %H:%M:%S',
time.localtime())
text.close()
print u'進程%s的' % PID + u'cpu監控已經運行,結果將在D:\\result.txt生成'
time.sleep(1)
print "-------------------------------------------------"
print get_cpu_info()
finally:
print u'進程%s' % PID + u'已經結束'
raw_input()