首页 > 系统相关 >python处理process(windows)

python处理process(windows)

时间:2024-07-25 19:19:07浏览次数:10  
标签:name psutil python pid process windows pids taskkill

python根据进程名称获取进程id、taskkill进程

 

import os
import psutil
from psutil import NoSuchProcess


class ProcessUtilCls:

    # 停止进程(windows)。
    # 参数:tag =1时按照process_name停止进程,否则按照pids[pid1,pid2...]停止进程
    @staticmethod
    def process_do_taskkill(tag: int, pids: list, p_name='chrome.exe'):
        if 1 == tag:
            _cmd = 'taskkill /im ' + p_name + ' /F > NULL'
            p_name = p_name.lower()
            for _p in psutil.process_iter():
                if p_name in _p.name():
                    os.system(_cmd)
        else:
            for i in pids:
                _cmd = 'taskkill /PID ' + str(i) + ' /F > NULL'
                os.system(_cmd)

    # 根据process_name得到相关的所有pid
    @staticmethod
    def get_pids(pname: str):
        # 当前所有pid
        current_pids = [p.pid for p in psutil.process_iter()]
        _l = []
        for i in current_pids:
            try:
                _p = psutil.Process(i)
            except NoSuchProcess:
                continue
            if pname == _p.name():
                # 保存process_name=pname的所有pid
                _l.append(i)

        return _l

    # 比对两个list,返回after相较于before的差集
    @staticmethod
    def diff_2list(before: list, after: list):
        _l = []
        t = {}
        for i in before:
            t[i] = 1
        for i in after:
            if t.get(i) is None:
                _l.append(i)
        return _l


ProcessUtil = ProcessUtilCls()

 

标签:name,psutil,python,pid,process,windows,pids,taskkill
From: https://www.cnblogs.com/jinziguang/p/18323974

相关文章

  • 《Python 基础方法的奇妙回顾之旅》
    1.学习内容1.1本篇博客主要是学过的方法进行总结:1.1.1 print()方法print方法是Python中最常用到的方法,print() 方法用于将指定的对象输出到控制台。语法:print(*objects,sep='',end='\n',file=sys.stdout,flush=False)objects:要输出的一个或多个对象,可以是字符串、......
  • python之七彩进度条rich.progress
    Spinner中国有七彩云南,Python有七彩进度条rich.progress.Progress#!/usr/bin/envpythonfromcontextlibimportcontextmanagerfromtypingimportGenerator#pipinstallasynctorhttpxrichimportasynctorimporthttpxfromrich.progressimportProgress,Spinner......
  • python运行报警告:Cython directive 'language_level' not set, using '3str' for now
    相关:https://stackoverflow.com/questions/34603628/how-to-specify-python-3-source-in-cythons-setup-pycython的setup.py文件内容:fromdistutils.coreimportsetupfromCython.Buildimportcythonizesetup(name='GreatCirclemodulev1',ext_modu......
  • Metasploit Pro 4.22.2-2024071901 (Linux, Windows) - 专业渗透测试框架
    MetasploitPro4.22.2-2024071901(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,releaseJul19,2024请访问原文链接:https://sysin.org/blog/metasploit-pro-4/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org世界上最广泛使用的渗透测试框架......
  • SSM-网络课程系统-29230(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP、爬虫、APP
    SSM网络课程系统摘 要本论文主要论述了如何使用SSM框架开发一个网络课程系统,将严格按照软件开发流程进行各个阶段的工作,采用B/S架构Java技术,面向对象编程思想进行项目开发。在引言中,将论述网络课程系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统......
  • 如何在 python 日志记录中插入换行符?
    importlogginglogging.basicConfig(level=logging.DEBUG,format='%(asctime)s%(levelname)s%(message)s',datefmt='%H:%M:%S')logging.info('hello')logging.warning('\nnewhello')11:15:01INFOhello11:16......
  • 7:Python 变量类型
    Python 变量类型变量是存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。变量赋值Python中的变量赋值不需要......
  • 如何诊断和修复 python .\app.py 不工作
    我在vscode中激活了我的虚拟环境。在激活我的环境的PowerShell中,我成功安装了Flask。然后我在文件main.py中运行此代码:fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defhello_world():return'Hello,World!'if__name__=="__main__":......
  • 【pywpsrpc/Python】改变图片宽高报错 对象无效属性: ‘tuple‘ object has no attrib
    概要开发UOS环境下,使用Python通过pywpsrpc库操作word文档在指定段落添加指定宽高的图片时意外发现的该问题,在原作者的github提问后获得解答后记录(源码地址、对应提问链接以及相关资料链接贴在文章末尾)。原因及解决方式首先贴一段简单的代码,作用是新建一个word文档并在其......
  • Python - 如何使用存储在类变量中的类型作为同一类方法的参数的类型提示?
    考虑下面的代码:fromtypingimportProtocol,ClassVar,AnyclassTool(Protocol):t:ClassVar#deff(self,params:self.t)->Any:#NameError:name'self'isnotdefineddeff(self,params)->Any:passclassSum:......