python 任务管理器 结束超过指定分钟数的进程

先安装pip install psutil

然后

import psutil
import os
from datetime import datetime as dt
from datetime import timedelta

#import datetime


def seconds_to_date(seconds):
    tdt = dt(1970, 1, 1,8) + timedelta(seconds=seconds)
    return tdt.strftime("%Y-%m-%d %H:%M:%S")

now = dt.now()
seconds = now.timestamp()
print(seconds)
# 获取所有进程列表
processes = list(psutil.process_iter())

# 打印进程名称和PID
for process in processes:
    if process.name().lower() == 'notepad3.exe':
        print(f'进程名:{process.name()}, 进程id:{process.pid}')
        ##os.system('taskkill /f /pid %s' process.pid)
        
##        print(' p.cpu_times() %d'+str( process.cpu_times()))
       
        
        info = process.as_dict(attrs=['create_time'])
##        print(process.create_time())
        run_time = process.cpu_times().user + process.cpu_times().system
        
        timedelta_obj = timedelta(seconds=run_time)
        create_time = now - timedelta_obj
##        print("进程创建时间 (近似):", create_time)
        
##        print("时间差秒:", timedelta_obj.total_seconds())
        print("create_time:", seconds_to_date(info['create_time']))

        remainder=(seconds-info['create_time'])
        minutes, seconds = divmod(remainder, 60)
        print("时间差分:",minutes)
        formatted_time = "{0:02g}:{1:02g}".format( minutes, seconds)
        print(f"进程运行时间为:{formatted_time}")
        if(minutes>30):
             print('taskkill /f /pid %s' % process.pid)
             os.system('taskkill /f /pid %s' % process.pid)
       
        
        # 计算运行时间
        running_time = psutil.boot_time() - info['create_time']
        hours, remainder = divmod(running_time, 3600)
##        print("时间差秒:", hours, remainder )
##        minutes, seconds = divmod(remainder, 60)
##        formatted_time = "{0:02d}:{1:02d}:{2:02d}".format(hours, minutes, seconds)
##         
##        print(f"Python进程运行时间为:{formatted_time}")
                
    
    
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值