首页 > 解决方案 > 如何在python中关闭先前运行的进程/应用程序实例?

问题描述

我是python的新手。我只想关闭进程或应用程序的先前运行实例。

我下面的代码只会关闭当前打开的进程。

import os
import psutil

applicaton = "program.exe"

for p in psutil.process_iter():
    if p.name() == applicaton:
        process_id = p.pid
        if not p.pid == process_id:
            p.terminate()

标签: python

解决方案


这是我与上述问题的最新代码。

def close_app(app_name):
    prdt_lst = []
    pid_lst = []
    for proc in psutil.process_iter():
        if proc.name() == app_name:
            prdt = proc.create_time()
            prdt_lst.append(prdt)
            pid_lst.append(proc.pid)

    # print(prdt_lst)
    # print(pid_lst)

    if prdt_lst > [0]:
        (m, i) = max((v, i) for i, v in enumerate(prdt_lst))
        # print(m, i)

        for indx, value in enumerate(prdt_lst):
            if indx == i:
                continue

            # print(pid_lst[indx])
            psutil.Process(pid_lst[indx]).terminate()

推荐阅读