Когда я использовал 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
Почему подпроцесс не ожидает завершения всех процессовсоздан?