Python获取指定服务的cpu占用率。求高手指教,我的代码运行不出来

渔樵者 渔樵者 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以下是我的两个文件,希望大神或者喜欢尝试的兄弟看看。
高手看看看,我的代码没有运行出来,我目前也不知道是什么问题。
test_no1.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-

import ctypes;
import psutil
import test_no2
__metaclass__ = type;

class PROCESSENTRY32(ctypes.Structure):
_fields_ = [
("dwSize",ctypes.c_ulong),
("cntUsage",ctypes.c_ulong),
("th32ProcessID",ctypes.c_ulong),
("th32DefaultHeapID",ctypes.c_void_p),
("th32ModuleID",ctypes.c_ulong),
("cntThreads",ctypes.c_ulong),
("th32ParentProcessID",ctypes.c_ulong),
("pcPriClassBase",ctypes.c_long),
("dwFlags",ctypes.c_ulong),
("szExeFile",ctypes.c_char*260)
]

kernel32 = ctypes.windll.LoadLibrary("kernel32.dll");
pHandle = kernel32.CreateToolhelp32Snapshot(0x2,0x0);

import sys;

if pHandle==-1:
sys.exit();

proc = PROCESSENTRY32();
proc.dwSize = ctypes.sizeof(proc);

while kernel32.Process32Next(pHandle,ctypes.byref(proc)):
ss = ctypes.string_at(proc.szExeFile)
ss=str(ss)
ss=ss.strip("b'")
if ss == "Tra_ser.exe":#获取此服务的cpu占用率
proc_PID = proc.th32ProcessID
print(proc.th32ProcessID)
p = psutil.Process(proc.th32ProcessID)
p.get_cpu_percent(interval=0)
print("####")
print(p.get_cpu_percent(interval=0))#第一次调用
print("####")

kernel32.CloseHandle(pHandle);

#TODO:test_no2的函数接口
test_no2.test(proc_PID)

test_no2.py
import psutil

def test(a):
p1 = psutil.Process(a)
cpu_per = p1.get_cpu_percent(interval=0)#再次调用获取cpu占用率
print("我到达被启动函数,下面打印进程cpu使用率")
print(cpu_per)
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
渔樵者
脚本语言 37,738 成员 34,208 内容