Зачем программе командной строки нужен ввод пользователя, если он не указан в исходном коде
Почему программа, запускаемая из командной строки, ожидает ввода пользователя (нажатием Enter), если она не была запрограммирована для этого?
Я использовал экземпляр AWS EC2 для запуска программы, требующей большого объема вычислений, которая выполняет несколько вещей, включая чтение файлов, выполнение вычислений для содержимого файлов и создание новых файлов. Для каждой задачи программа выводила некоторую отладочную информацию в stdout
,
Пройдя пару шагов, он, похоже, застрял в массовых вычислениях. Программа не продвигалась слишком долго, и использование ресурсов упало с устойчивого уровня при запуске шага, поэтому я нажал Enter
из разочарования, и это немедленно продолжалось.
- Мне не предложили ввести
- Автор заверил меня, что пауза ввода не было в исходном коде
- Учитывая факты, совпадение очень маловероятно
Это системная ошибка / особенность / особенность?
Почему это могло произойти, и могу ли я избежать этого в будущем?
1 ответ
В командной строке Windows (cmd.exe) есть режим "быстрого редактирования", который включен по умолчанию.
Если включен режим "быстрого редактирования", если вы нажмете на командную строку во время обновления, например, в случае запуска такой команды, как:
ping www.google.com -t
затем обновление вывода прекратится до тех пор, пока не будет введен ключ, такой как Enter, в случае вопроса.