Jaka jest różnica, jeśli nie używam stdout = subprocess.PIPE w subprocess.Popen ()?

Niedawno zauważyłem w Pythoniesubprocess.Popen() ma argument:

stdout=None(default)

Widziałem też ludzi używających stdout = subprocess.PIPE.

Jaka jest różnica? Którego powinienem użyć?

Kolejne pytanie brzmi: dlaczego funkcja wait () nie może czekać, aż proces rzeczywiście zostanie wykonany? Użyłem:

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

czasami komenda a2 jest wykonywana przed wykonaniem komendy a.

questionAnswers(2)

yourAnswerToTheQuestion