Зачем программе командной строки нужен ввод пользователя, если он не указан в исходном коде

Почему программа, запускаемая из командной строки, ожидает ввода пользователя (нажатием Enter), если она не была запрограммирована для этого?

Я использовал экземпляр AWS EC2 для запуска программы, требующей большого объема вычислений, которая выполняет несколько вещей, включая чтение файлов, выполнение вычислений для содержимого файлов и создание новых файлов. Для каждой задачи программа выводила некоторую отладочную информацию в stdout,

Пройдя пару шагов, он, похоже, застрял в массовых вычислениях. Программа не продвигалась слишком долго, и использование ресурсов упало с устойчивого уровня при запуске шага, поэтому я нажал Enter из разочарования, и это немедленно продолжалось.

  • Мне не предложили ввести
  • Автор заверил меня, что пауза ввода не было в исходном коде
  • Учитывая факты, совпадение очень маловероятно

Это системная ошибка / особенность / особенность?

Почему это могло произойти, и могу ли я избежать этого в будущем?

1 ответ

Решение

В командной строке Windows (cmd.exe) есть режим "быстрого редактирования", который включен по умолчанию.

Если включен режим "быстрого редактирования", если вы нажмете на командную строку во время обновления, например, в случае запуска такой команды, как:

ping www.google.com -t

затем обновление вывода прекратится до тех пор, пока не будет введен ключ, такой как Enter, в случае вопроса.

Другие вопросы по тегам