如何在 python 中的循环内打开和关闭可执行文件

How to open and close an executable inside a loop in python

Python菜鸟,如果这是一个愚蠢的问题,我提前道歉。

所以,我写了这段代码

import subprocess
import os, signal
import time
timeout = time.time() + 60*5
count = 0

while True:
    print("running")
    if time.time() > timeout:
        break
    
    speedtest = subprocess.Popen("C:\Program Files\Speedtest\Speedtest.exe")
    time.sleep(30.0)
    speedtest.terminate()

我正在尝试打开 speedtest.exe,保持打开状态 30 秒,然后关闭。我想重复这个 5 分钟。

但是当进程第一次关闭并尝试重新打开时,我收到一条错误消息说另一个实例已经 运行。

我该如何解决这个问题?

终止可执行文件后您将不得不睡一会儿。这是因为终止需要一些时间,不幸的是,terminate 方法在编译时并没有花费那么多时间。它直接从中终止到再次启动exe。
通过等待,您正在等待可执行文件停止然后启动应用程序。不过,您将不得不稍微弄乱时间安排,因为通常会有随机的终止时间。