Вопроса: Есть ли способ, с помощью Python, чтобы получить доступ к стандартному выводу запущенного процесса? Этот процесс имеет не был запущен Python.Доступ к процессу уже работает с Python
Контекст: Существует программа под названием mayabatch, что делает из изображений из файлов сцены 3D Maya. Если бы я запускал программу из командной строки, я видел сообщения о ходе работы от mayabatch. Иногда художники закрывают эти окна, оставляя движение незаметным до завершения программы. Это привело меня к этому пути, пытаясь прочитать его выступление после того, как оно было создано внешним процессом.
фона:
- ОС: Windows 7 64-бит
Мои исследования до сих пор: я только нашел вопросы и ответы о том, как это сделать, если это было подпроцесс, используя модуль subprocess
. Я также кратко посмотрел на psutil
, но не смог найти способ прочитать «stdout» процесса.
Любая помощь была бы действительно оценена. Спасибо.
Вы можете использовать сокет с заранее известным портом, и труба, он, если подключен, нет? – MeetTitan
Использование собственных служб ОС - это будет проблемой и будет полностью зависеть от того, какую ОС вы используете. Но похоже, что проблема проще. Похоже, что 'mayabatch' имеет механизм, чтобы рассказать вам о состоянии уже запущенных программ ... и похоже, что это утилита командной строки. Зачем просто выполнять скрипт и выполнять его синтаксический анализ? – user590028
В Linux вы можете (вроде) сделать это с помощью 'strace'. Возможно, есть эквивалент Windows? – jme