Нет эхо нажатия клавиш в Bash после KeyboardInterrupt во время подпроцесса Python - PullRequest
0 голосов
/ 21 сентября 2019

После того, как я нажму ctrl-C во время выполнения Python subprocess.check_output, скрипт Python завершится, и ввод с клавиатуры больше не будет отображаться в оболочке bash.

(Если я выхожу из сеанса ssh и снова запускается ssh, операция возвращается в нормальное состояние.)

Это прерванный код:


            subprocess.check_output(['flite -t "%s" -o tmp.wav' % phrase], stderr=subprocess.STDOUT, shell=True)
            subprocess.check_output(['omxplayer --vol "%d" tmp.wav' % YYY], stderr=subprocess.STDOUT, shell=True)
            subprocess.check_output(['rm tmp.wav'], stderr=subprocess.STDOUT, shell=True)

Я также пыталсяупаковка с try/except;тот же результат.

OS:  Raspbian Stretch  
     Linux Carl 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux

Platform: Raspberry Pi 3B

Python version 2.7.13 and version 3.5.3

(пришлось переключиться на flite, потому что обновление ОС привело к тому, что espeak перестал работать правильно)

...