Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 13, 2016 11:04:51

Keiran
Зарегистрирован: 2016-06-13
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Выполнение нескольких Popen

Есть задача: запустить несколько приложений, взаимодействующих друг с другом, дождаться окончания их выполнения и проанализировать выдачу.
Запуск делаю через subprocess.Popen,

app = subprocess.Popen(command, bufsize=1, stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
Проблема возникает, когда пытаюсь дождаться окончания выполнения одного из процессов - если ставлю wait() или communicate(), скрипт зависает.
Если не ставлю - бодро рапортует о том, что работа выполнена, соответственно все запущенные приложения прололжают висеть в процессах.
Подскажите, пожалуйста, как можно обойти подвисание?

Офлайн

#2 Июнь 13, 2016 17:13:21

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Выполнение нескольких Popen

Keiran
как можно обойти подвисание?
Один из путей создать треды на каждый процесс.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version