Подпроцесс Python.Popen + ffmpeg прерывает ввод терминала

Я писал модуль для создания случайных снимков экрана из видео и использовал subprocess.Popen для параллельного запуска нескольких команд, но это приводит к тому, что терминал отказывается отображать какие-либо входные данные после завершения работы программы python. Но он по-прежнему принимает большинство вводов с клавиатуры, просто не отображает их.

Только если я наберу команду reset, терминал начнет работать нормально. Это произошло на ssh с замазкой и другими ssh-клиентами, даже на ssh с powershell в Windows и непосредственно на терминале с VNC.

Но без ssh, непосредственно выполняющего ту же команду в Windows, ssh работает нормально, и входные данные видны

вот пример gif того, что происходит

и код для его воспроизведения

#!/usr/bin/env python3.8 from subprocess import Popen def create_screenshots(): commands = [‘ffmpeg -hide_banner -loglevel panic -ss 329 -i «/home/user/file.mkv» -y -vframes 1 «/home/user/file.329.frame.png»‘, ‘ffmpeg -hide_banner -loglevel panic -ss 312 -i «/home/user/file.mkv» -y -vframes 1 «/home/user/file.312.frame.png»‘, ‘ffmpeg -hide_banner -loglevel panic -ss 533 -i «/home/user/file.mkv» -y -vframes 1 «/home/user/file.533.frame.png»‘, ‘ffmpeg -hide_banner -loglevel panic -ss 444 -i «/home/user/file.mkv» -y -vframes 1 «/home/user/file.444.frame.png»‘, ‘ffmpeg -hide_banner -loglevel panic -ss 411 -i «/home/user/file.mkv» -y -vframes 1 «/home/user/file.411.frame.png»‘, ‘ffmpeg -hide_banner -loglevel panic -ss 413 -i «/home/user/file.mkv» -y -vframes 1 «/home/user/file.413.frame.png»‘] screenshot_files = [] processes = [Popen(command, shell=True) for command in commands] for process in processes: process.wait() return screenshot_files create_screenshots()

Источник: ledsshop.ru

Стиль жизни - Здоровье!