为什么命令行程序需要用户输入,而源代码中没有指定

为什么命令行程序需要用户输入,而源代码中没有指定

如果未进行编程,那么为什么从命令行运行的程序会等待用户输入(按 Enter 键)?

我使用 AWS EC2 实例运行一个计算密集型程序,该程序执行一些操作,包括读取文件、对文件内容进行计算以及创建新文件。对于每个任务,程序都会将一些调试信息打印到stdout

经过几个步骤后,它似乎卡在了一项大规模计算上。程序很长时间没有前进,资源使用量从开始这一步时的稳定水平下降,所以我Enter沮丧地打了个招呼,它马上就继续了。

  • 我没有被提示输入
  • 作者向我保证,源代码中没有输入暂停
  • 鉴于事实,巧合的可能性很小

这是系统错误/怪癖吗?特征

为什么会发生这种情况?我将来能避免这种情况吗?

答案1

Windows 命令提示符 (cmd.exe) 具有默认启用的“快速编辑”模式。

快速编辑模式

启用“快速编辑”模式后,如果在更新时单击命令提示符,例如在运行以下命令的情况下:

ping www.google.com -t

然后更新输出将停止,直到输入一个键(例如,在问题的情况下输入 Enter)。

相关内容