gpt4 book ai didi

python - 在Python中返回带有子进程的进程结束

转载 作者:太空宇宙 更新时间:2023-11-03 14:05:01 26 4
gpt4 key购买 nike

我正在使用子进程(Python 2.7)来调用软件容器(Docker)上的进程。此过程在目录中创建一些文件。我需要当进程结束并创建文件时,函数 F 返回一个 bool 值,以便我知道我可以访问这些文件。我怎样才能做到这一点?

def F():
cmd1 = 'my_command_that_invoke_docker'
process = subprocess.Popen(cmd1, shell=True)

最佳答案

您可以等待子进程终止。

如果您想要来自子进程的 STDOUT 和/或 STDERR 流(和/或将数据发送到进程的 STDIN),请使用 process.communicate 方法:

stdout, stderr = process.communicate()

process.returncode 将具有退出状态。

另一方面,如果您只需要等待进程终止,而不需要任何流捕获,请使用 process.wait 方法:

returncode = process.wait()

returncode 将包含子进程的退出状态。

** 请注意,在 shell=True 的情况下,子进程将是 shell 本身(除非您直接 exec 任何命令)。

关于python - 在Python中返回带有子进程的进程结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48966743/

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