Коли я запускаю програму над ssh, чому stdin припиняє відлуння?


2

Коли я запускаю конкретну програму на моєму сервері, використовуючи putty і я потрапляю ctrl + c щоб зупинити це, мій stdin перестає лунати мені в командному рядку.
Так, наприклад, після запуску програми та її зупинки, якщо я введу ls, я не бачу символи ls, але я бачу лістинг каталогу.
Що відбувається неправильно?

Відповіді:


2

stty sane

Можливо, програма встановлює деякі налаштування терміналу (див man stty ) і коли ви перериваєте його Ctrl + C програма не вловлює переривання і очищає (тобто відновлює нормальний стан) налаштування терміналу, а просто виходить. Це може бути саме так stty echo (ехо вхідні символи) налаштування, які потребують скидання, але це, мабуть, і інші.

Просто використовуйте команду stty sane щоб відновити розумність до налаштувань вашого терміналу.

Альтернативно ви повинні бути в змозі використовувати stty -g > settings.stty для збереження поточних налаштувань терміналу перед запуском програми. Після переривання програми використовуйте stty `cat settings.stty` для відновлення цих конкретних параметрів. Спробуйте stty sane по-перше, він повинен робити все, що потрібно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.