gpt4 book ai didi

python - 在 Python 中与 os.system() 并行运行两个可执行文件?

转载 作者:行者123 更新时间:2023-11-28 20:39:57 25 4
gpt4 key购买 nike

我希望并行运行两个可执行文件 a.exe 和 b.exe,一个接一个调用。

当我尝试时,

os.system('a.exe')
#some code
os.system('b.exe')

只有在我杀死 a.exe 之后,b.exe 才开始运行?为什么会这样?如何同时运行两者? (我需要做多线程吗?)注:我在Windows平台

最佳答案

如果我们忽略异常,那么同时运行多个程序就很简单了:

#!/usr/bin/env python
import subprocess

# start all programs
processes = [subprocess.Popen(program) for program in ['a', 'b']]
# wait
for process in processes:
process.wait()

参见 Python threading multiple bash subprocesses?

如果您想要在任何程序启动失败时停止之前启动的进程:

#!/usr/bin/env python3
from contextlib import ExitStack
from subprocess import Popen


def kill(process):
if process.poll() is None: # still running
process.kill()

with ExitStack() as stack: # to clean up properly in case of exceptions
processes = []
for program in ['a', 'b']:
processes.append(stack.enter_context(Popen(program))) # start program
stack.callback(kill, processes[-1])
for process in processes:
process.wait()

关于python - 在 Python 中与 os.system() 并行运行两个可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36942980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com