在多线程脚本中使用 subprocess.run() 是否合法?

问题描述 投票:0回答:1

我有一个很长的构建脚本,它混合了“真正的”Python代码和冗长的

subprocess.run()
调用,例如
debootstrap
wget
apt-get
build.sh

一切都是并行的。一个线程执行

debootstrap
,然后执行
apt-get
,而另一个线程执行
build.sh
,然后将两者连接起来,我们启动更多线程来组合结果,依此类推。每个线程都会记录到一个专用文件中。

在寻找一种通用方法来记录由这些线程之一启动的

subprocess.run()
的输出时,我得到了以下答案:https://stackoverflow.com/a/31868783/876832

在具有多个线程的Python脚本中调用

subprocess.run()
是一个错误吗?

python multithreading
1个回答
0
投票

在具有多个线程的Python脚本中调用

subprocess.run()
是一个错误吗?

不。我一直这样做。

我认为您链接的答案是误导的。毕竟,您甚至不知道

subprocess.Popen()
及其外观(如
subprocess.run()
)是否使用
fork
系统调用(特别是在 Windows 上,它们当然不知道,因为那里不存在该调用)。

© www.soinside.com 2019 - 2024. All rights reserved.