当我使用subprocess.run
时,似乎并没有等待tee
创建的所有过程完成。
import subprocess
subprocess.run("echo 123 | tee >(sleep 3; echo 456) >(sleep 4; echo 789)", shell=True, executable="/bin/bash")
print("Process completes.")
我的预期输出是:
123
456
789
Process completes.
但是,实际输出是:
123
Process completes.
456
789
为什么子进程不等待所有创建的进程的结束?