【发布时间】:2022-01-19 20:09:57
【问题描述】:
我正在尝试在 Python 程序中生成的两个 shell 中并行执行多个命令。我尝试使用 popen.communicate(),但是这种方法是阻塞的,并且不允许我同时运行它们。我目前有。
proc_1 = subprocess.Popen('adb shell', shell=True, stdin=subprocess.PIPE)
proc_2 = subprocess.Popen('adb shell', shell=True, stdin=subprocess.PIPE)
proc_1.communicate(b'second adb command')
proc_2.communicate(b'second adb command')
它目前正在等待第一个通信调用完成,然后再继续进行第二个。我怎样才能同时运行它们?
【问题讨论】:
-
Python 多处理模块将是一个合适的选择。
-
@Hamed_gibago,是否可以使用
multiprocessing运行非python 程序? -
@azelcer 是的,您可以运行它并传递参数。看看这个页面,它指导你在 python 之外运行一个进程:“docs.python.org/3/library/…”
标签: python subprocess