python - 如何在python的循环中打开和关闭可执行文件
问题描述
Python noob here,如果这是一个愚蠢的问题,我提前道歉。
所以,我写了这段代码
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。
通过等待,您正在等待可执行文件停止然后启动应用程序。不过,您将不得不稍微弄乱时间,因为通常会有随机的终止时间。
推荐阅读
- c++ - 64 位 Vivek 的虚拟相机
- openedge - 从另一个文件调用过程
- javascript - 从 JavaScript(浏览器)启动 Node.js 文件/模块
- sql-server-2008-r2 - SQL Server 作业间歇性失败,并在生产中出现错误“无法连接到 SQL Server '(本地)'步骤失败”
- android - Android 居中一个 TableLayout
- php - 在一组上传的文件上应用 php 代码
- php - 无法从 GODADDY 上托管的站点获取计算机的本地 IP 地址
- html - 如何使用当前部署的清单/资产自动更新 PWA
- mysql - 使用kafka连接配置debezium mysql连接器失败
- arrays - 静态 uint8_t 数组的输入过程和类型