Подпроцесс Python. Popen от потока

Если вы используете поток обработчика, надеюсь, что-то пошло не так. Я мог видеть эти строки в исходном коде следующего метода MessageQueue. Посмотрите, это может помочь вам понять.

** Message next () {// Возвращаем сюда, если цикл обработки сообщений уже завершен и был удален. // Это может произойти, если приложение пытается перезапустить петлитель после завершения //, что не поддерживается. **

Исходный код

27
задан noahd 12 June 2009 в 04:13
поделиться

1 ответ

Вы не предоставили нам никакого кода, но вот образец, который делает нечто похожее на то, что вы описываете:

import threading
import subprocess

class MyClass(threading.Thread):
    def __init__(self):
        self.stdout = None
        self.stderr = None
        threading.Thread.__init__(self)

    def run(self):
        p = subprocess.Popen('rsync -av /etc/passwd /tmp'.split(),
                             shell=False,
                             stdout=subprocess.PIPE,
                             stderr=subprocess.PIPE)

        self.stdout, self.stderr = p.communicate()

myclass = MyClass()
myclass.start()
myclass.join()
print myclass.stdout
39
ответ дан 28 November 2019 в 05:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: