При выделении содержимого окна командного интерпретатора любая выполняющаяся в нём программа, скрипт или команда ставится на паузу. И стоит на паузе до тех пор, пока выделение не будет снято.
Попробуйте сами:
Откройте cmd.exe и включите в настройках возможность выделения текста (т.н. режим редактирования).
Правая кнопка мыши на заголовок, меню «Свойства», вкладка «Общие», группа «Редактирование», галка «Выделение мышью».
Процедура «Редактирования» выглядит следующим образом: с нажатой левой кнопкой мыши можно выделить прямоугольник, а при нажатии правой кнопки мыши текст из прямоугольника падает в буфер обмена. Выделение при этом снимается.
Эта настройка стоит практически у любого виндуз-админа, потому что информацию из cmd надо часто копировать.
Сэмулируйте запуск продолжительного скрипта, который делает важные вещи. Например, вот так:
ping -t localhost
Выделите что-нибудь. Можно даже «случайно» ткнуть мышью в любое место: выделится один символ под указателем.
Материтесь.
Поясняющий рисунок «Зависший пинг».
Внимание на белый прямоугольник справа от вывода. Это выделение.
О том, что это именно выделение, свидетельствует и изменившийся заголовок окна: к нему добавилось слово «Выбрать».
Кстати, при прокрутке содержимого окна ползунком — исполняемый внутри скрипт тоже ставится на паузу. До тех пор, пока левая кнопка мыши не будет отжата.
Толковым программистам из микрософта нужно было побороть ситуацию, когда текст в выделенной области может меняться в результате работы скрипта или программы. Толковые программисты из микрософта нашли самый лучший вариант: приостановленная программа не сможет изменить содержимое окна!
И ниибёт.
Даже если в окне у тебя выполняется суточный бэкап, а ты ткнул в него мышью совершенно случайно.
Протестировано в: