看来,使用壳=在一个链的第一个过程真不知何故滴从下游任务的标准输出:
p1 = Popen(['echo','hello'], stdout=PIPE)
p2 = Popen('cat', stdin=p1.stdout, stdout=PIPE)
p2.communicate()
# outputs correctly ('hello\n', None)
使第一过程中使用壳=真杀死输出莫名其妙...
p1 = Popen(['echo','hello'], stdout=PIPE, shell=True)
p2 = Popen('cat', stdin=p1.stdout, stdout=PIPE)
p2.communicate()
# outputs incorrectly ('\n', None)
外壳=在第二过程中真正似乎并不重要。 这是预期的行为?