У меня проблема с использованием subprocess.Popen или subprocess.call, когда я использую их для выполнения команд, которые генерируют много выходных данных, скрипты python зависают, но что странно, что после ожидания некоторое время, script находится в зависающем состоянии, я обнаружил, что задание, заданное линией cmd, выполнено, и вызывается только script.
subprocess.call(cmd, shell = True)
#OR
subprocess.Popen(cmd, stdout = subprocess.PIPE, stdin = subprocess.PIPE, shell = True)
# HANGS HERE
print "show something after subprocess"
Обратите внимание, что последняя печать никогда не выполняется, но на самом деле выполняется cmd.
Обратите внимание, что cmd связан с последовательным портом, поэтому, когда я подключаю последовательный кабель, все становится хорошо, и последний statetement печати выполняется. Но когда я использую терминал, все нормально, даже если последовательный порт подключен, это происходит только с python script.
Спасибо большое