首页
社区
课程
招聘
未解决 [求助]这个需求用python如何实现
发表于: 2021-2-13 18:29 2970

未解决 [求助]这个需求用python如何实现

2021-2-13 18:29
2970

python去调用windows下面的exe,这个exe执行完成的时间较长,可以认为是阻塞的状态。
但有时候这个exe进程会意外退出,我想每隔5分钟检测这个进程是否存在?如果退出了就重启这个进程,如果存在的话就继续监控。
网上我搜了一下,似乎是守护进程关键字方面的,但是我的要求和网上的demo不是很一样。
不知道有没有这方面的近似的参考例子?


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 622
活跃值: (2479)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2

#!/usr/bin/env python

# -*- coding: utf-8 -*-


import time

import psutil

import subprocess


exe_name = "test.exe"


while 1:

    exepid = None

    pids = psutil.pids()

    for pid in pids:

        try:

            p = psutil.Process(pid)

            if p.name() == exe_name:

                print("找到EXE进程:%x" % pid)

                exepid = pid

                break

        except (psutil.NoSuchProcesspsutil.AccessDeniedpsutil.ZombieProcess):

            pass

    if exepid is None:

        subprocess.Popen(exe_name)

    else:

        time.sleep(5*60)


手写代码未做测试,就是不停的枚举所有进程,看EXE是否在进程列表中,如果不在就运行EXE,在就等300秒再次枚举进程,大致应该就是这样!

最后于 2021-2-14 22:20 被crackwiki编辑 ,原因:
2021-2-14 22:13
0
雪    币: 1540
活跃值: (2807)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢,我一会去试验一下。
2021-2-15 00:12
0
游客
登录 | 注册 方可回帖
返回
//