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

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

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

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

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

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

1 ответ1

1

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

Режим быстрого редактирования

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

ping www.google.com -t

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .