Мое приложение использует несколько внешних двоичных файлов, которые вызываются через новые подпроцессы с помощью subprocess.Popen. Я записываю stdout/stderr в файлы и получаю код выхода, чтобы определить, было ли выполнение успешным. Стандартный вывод анализируется для получения желаемых результатов. Эти вызовы могут выполняться от нескольких минут до нескольких часов, и приложение включает многие из этих вызовов параллельно.
Этот подход работает, хотя у меня возникали некоторые странные проблемы с подпроцессами, которые случайно завершали работу или завершались из-за сигнал SIGTERM, который они откуда-то получили. У меня возникли большие проблемы с отладкой этих проблем из-за небольшого количества информации, полученной от этих подпроцессов. Даже код выхода не всегда полезен, поскольку некоторые приложения после внезапного завершения возвращают 0.
Есть ли лучший способ управлять подпроцессами и получать о них больше диагностической информации? Я думал, что для этого может быть библиотека или что мне не хватает некоторых опций стандартной библиотеки подпроцессов, хотя я ничего не могу найти.
Альтернативный вариант , если это невозможно, как лучше всего справиться с выполнением внешних программ при отсутствии API? Существует ли подход, облегчающий отладку?
Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-python
Надежное управление длительными подпроцессами в Python [закрыто] ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как синхронизировать и взаимодействовать между подпотоками и подпроцессами в Python?
Anonymous » » в форуме Python - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Точное и надежное обнаружение углов (зашумленное изображение, грязный объект)
Anonymous » » в форуме Python - 0 Ответы
- 34 Просмотры
-
Последнее сообщение Anonymous
-