Какая разница, если я не использую stdout = subprocess.PIPE в subprocess.Popen ()?

Я недавно отметил в Pythonsubprocess.Popen() имеет аргумент:

stdout=None(default)

Я также видел людей, использующих stdout = subprocess.PIPE.

В чем разница? Какой из них я должен использовать?

Другой вопрос заключается в том, почему функция wait () не может иногда ждать, пока процесс действительно завершится? Я использовал:

a = sp.Popen(....,shell=True)
a.wait()
a2 = sp.Popen(...,shell=True)
a2.wait()

иногда команда a2 выполняется перед выполнением команды a.

Ответы на вопрос(2)

Ваш ответ на вопрос