Я запускаю свой собственный скрипт для запуска HandBrakeCLI. HandBrake занимает несколько часов, чтобы сделать это.Python, получить статус от запущенной команды
Я намерен запустить этот сценарий из хрон, так что не будет никакого реального вывода из сценария (я могу обновить файл время от времени.)
HandBrake может сказать мне, что она делает в нижней части линии терминала во время его работы.
Я использую Popen для запуска ручного тормоза.
Как я могу посмотреть на выходной сигнал ручного тормоза, пока он работает, чтобы получить статус в реальном (ну рядом с реальным) временем?
Вот команда, я использую:
command = ['HandBrakeCLI', '-i', long_source, '-o', long_target, '-f', 'mp4'] # + a bunch more
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print out
print err
Это работает, но я хочу, чтобы результат от Popen
во время выполнения, а не ждать, пока после того, как это делается.
Спасибо, Марк.
PS. Сервер Ubuntu 12.04
Что вы пробовали? Мне кажется, что «subprocess.Popen» будет правильным правилом, поэтому, не видя сообщение об ошибке, я не знаю, почему вы не смогли бы этого сделать. – jez
Вот команда, которую я использую: 'p = subprocess.Popen (['HandBrakeCLI', '-i', long_source, '-o', long_target, '-f', 'mp4' .. больше] STDOUT = subprocess.PIPE, STDERR = subprocess.PIPE) ' \t \t' вне, эээ = p.communicate() ' \t \t' печати out' \t \t 'печать err' –
Это работает, но я хочу, выход из Popen ** во время ** исполнения, не ждите, пока это будет сделано. Форматирование в этом разделе комментариев не работает. –