本文章在转载的基础上,根据本人遇到的问题有所改动。
环境设定: Bentley ContextCapture Center Engine 18个节点集群
操作系统:Windows 10 2019 / Windows 7 SP1
网络配置:全千兆电口/支持端口汇聚
远程平台:Teamviewer
1 情景描述
利用CC4.4.12集群处理航片生产实景三维模型的时候,发现Master控制台总有一两个Jobs分块逗留时间无限久,而且仅发生在Windows 10的机器上,经人工远程排查Engine的CMD终端窗口不再滚动信息,只好重新启动 Engine 。
2 处理过程
起初怀疑软件本身Bug原因,Windows 7 SP1并不会产生这类问题,也怀疑系统与Engine兼容性问题,一开始人工排查所有机器的 Engine 运行状态,后来由于现实性问题采用小工具监控CPU使用率来重启 Engine ,至此未排查到原因。
Windows 10 默认开启快速编辑模式,而Windows 7 SP1 则默认不开启
偶然看到了神户猿的文章。
原来是因为,CMD开启了快速编辑模式(Quick Editor)导致鼠标点击或选中CMD终端窗口则会暂停现有进程,CMD终端是单线程进程,即直到鼠标右击或Enter回车结束快速编辑(选中的内容会被复制至剪切板)这一步骤,CMD终端现有的任务是不会继续执行的。
当你在cmd.exe窗口中选择某些文本时,该过程将在后台进行,直到下一次写入标准输出(或STDOUT,即cmd.exe窗口中显示的数据流)为止。
退出选择模式后,该过程将照常恢复。
您可以通过ping localhost -t在cmd.exe窗口中键入并选择输出的某些区域来进行测试。
您会看到它暂停,并且当您取消选择时,输出将恢复。
清楚了原因,解决方法也很简单了,只要关闭快速编辑模式即可,这样CMD终端显示的内容不能再用户标记选中。
最后感谢 神户猿。
作者:神户猿
链接:https://www.jianshu.com/p/2f841be9d255
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。