一、运行代码
import time
import psutil
_time = getattr(time, 'monotonic', time.time)
sum_cpus = psutil.cpu_count() or 1 #计算机的CPU核心数量,如果无法获取,则将核心数设置为1
def timer():
return _time() * sum_cpus #返回当前时间乘以CPU核心数量
pid_cpuinfo = {} #初始化一个空字典,用于存储进程ID与CPU信息的映射关系
def GetProcessCPU_Pre(id): #计算并返回给定进程ID的CPU利用率
p = psutil.Process(id) #根据提供的进程ID,使用psutil库的Process类实例化一个进程对象
tt = p.cpu_times() # 获取进程的CPU时间信息
st0, tt0_0, tt0_1 = pid_cpuinfo.get(id, (0, 0, 0)) # 获取之前保存的进程ID对应的CPU信息,初始时设定为0
st1, tt1_0, tt1_1 = timer(), tt.user, tt.system #计算当前时间、进程用户态CPU时间和系统态CPU时间
delta_proc = (tt1_0 - tt0_0) + (tt1_1 - tt0_1) #计算进程CPU时间的增量
delta_time = st1 - st0 #计算时间增量
try:
cpus_percent = ((delta_proc / delta_time) * 100) #计算CPU利用率的百分比
except:
cpus_percent = 0.0
pid_cpuinfo[id] = [st1, tt1_0, tt1_1] ##更新进程ID对应的CPU信息
return "{:.2f}".format(cpus_percent) #返回格式化后的CPU利用率值,保留两位小数
# 输入需要检查的进程ID
process_id = 25400 #25400为我此时要计算cpu利用率的进程ID
result = GetProcessCPU_Pre(process_id)
print(result)
二、查看进程ID
在不同的操作系统中,查看进程ID的方法可能会有所不同。以下是一些常见操作系统中查看进程ID的方法:
Windows:
1. 打开任务管理器:
可以使用快捷键`Ctrl + Shift + Esc`来打开任务管理器。
在任务管理器中,切换到“详细信息”选项卡。
在“详细信息”选项卡中,可以查看各个进程的PID(Process ID)。
macOS:
1. 打开活动监视器:
通过`Spotlight`搜索栏搜索“活动监视器”并打开。
在“CPU”或“进程”选项卡中,你可以看到各个进程的PID。
Linux (Ubuntu):
1. 使用命令行:
打开终端。
输入以下命令可以查看所有正在运行的进程及其PID:
ps -ef
2. 使用系统监控工具:
有些Linux发行版提供了系统监控工具,如`System Monitor`,通过这类图形界面工具也可以查看进程及其PID。
无论在哪种操作系统下,通常情况下都可以通过任务管理器、活动监视器或命令行来查看运行的进程及其对应的进程ID。根据你使用的操作系统和喜好选择适合你的方法即可轻松查看进程ID。
三、运行结果
在PyCharm中的运行结果如下:
在ubantu系统运行可参考此教程:http://t.csdnimg.cn/91wp5
参考文章链接:http://t.csdnimg.cn/gNtM8