当前位置: 首页 > news >正文

python下通过wmic设置程序的优先级~~~

在开发过程中,经常会碰到需要设置程序优先级,这时候可以手动到任务管理器中调整,但是这多多少少有些不方便,那么这时候我们就可以通过subprocess调用wmic命令来实现,方法如下:

step 1 必要的引用:

import subprocess                           # Subprocess calling

step 2 函数封装:

def set_priority_by_name(process_name, priority="normal"):priority_map = {"realtime": 256,         # REALTIME_PRIORITY_CLASS(实时)"high": 128,             # HIGH_PRIORITY_CLASS(高)"above_normal": 32768,   # ABOVE_NORMAL_PRIORITY_CLASS(高于正常)"normal": 32,            # NORMAL_PRIORITY_CLASS(正常)"below_normal": 16384,   # BELOW_NORMAL_PRIORITY_CLASS(低于正常)"low": 64,               # IDLE_PRIORITY_CLASS(低)}# 获取优先级数值(默认正常)priority_value = priority_map.get(priority.lower(), 32)# 构造 wmic 命令cmd = f'wmic process where name="{process_name}" call setpriority {priority_value}'try:  # 需要管理员权限(尤其是 high/realtime)subprocess.run(cmd, check=True, shell=True, capture_output=True)except subprocess.CalledProcessError as e:print(f"speed level set failed: {e.stderr.decode().strip()}")except Exception as e:print(f"unknown error: {str(e)}")else:print(f"set {process_name}'s priority to: {priority}")#end tray#end def

step3. 调用 

set_priority_by_name("yourapp1.exe", "above_normal")    # 设为above_normal
set_priority_by_name("yourapp2.exe", "high")            # 设为high

相关文章:

  • 如何理解线性判别分析(LDA)算法?
  • Java语言快速排序和堆排序(优先队列)介绍,附demo代码
  • 安卓11 多任务视图270 度的情况报错
  • 12软件测试需求分析案例-删除学生信息
  • 免费PDF工具-PDF24V9.16.0【win7专用版】
  • 2025年八大员【标准员】考试题库及答案
  • 基于netty实现视频流式传输和多线程传输
  • 25年软考架构师真题(回忆更新中)
  • 【检索增强生成(RAG)全解析】从理论到工业级实践
  • 动静态库--
  • 嵌入式<style>设计模式
  • 设计模式 - 模板方法模式
  • 前端项目部署 打包上线
  • Vue项目前后端交互大量数据的-之-前端优化方案
  • Java——设计模式(Design Pattern)
  • LINQ性能优化终极指南
  • 数据库中表的设计规范
  • S32K开发环境搭建详细教程(二、添加S32K3xx SDK)
  • 【读代码】BAGEL:统一多模态理解与生成的模型
  • python装饰器的简单理解
  • 今日头条网站模板/引流推广营销
  • wordpress 首页折叠/网站推广优化平台
  • 做网站推荐/为什么seo工资不高
  • 网站被k了怎么做/play商店
  • 网站备案 公章/优化关键词的方法包括
  • 云南省建设教育协会网站/专业外贸网络推广