背景说明

我们项目开发了一个后台程序,使用的是命令行模式,运行时就一个窗口。我们的运维会定时巡检,有一次报修说程序不在运行了。查看日志等都无果。最后远程看了一下,发现界面上有一个白色的光标,类似如下图:

cmd执行命令行程序时有时会卡住_运维

 

这个情况很有可能在巡检的时候,特别是在电脑息屏时,运维不小心点击了一下鼠标。

 

解决方案

win10 和 winserver2016 等服务器都是默认开启快速编辑模式,当然不排除用户自己设置了这个选项。

方式一:windows cmd->属性->选项->编辑选项。  取消勾选     快速编辑模式    (或者在cmd窗口上点击左上角图标->属性->选项->编辑选项。 )

方式二:在cmd窗口上点击左上角图标->默认值->选项->编辑选项。取消勾选     快速编辑模式    

设置参考如下图:

cmd执行命令行程序时有时会卡住_项目开发_02

 

 

cmd默认开启了“快速编辑模式”,只要当鼠标点击cmd任何区域时,就自动进入了编辑模式,之后的程序向控制台输入内容甚至后台的程序都会被阻塞。

我们在控制台里面回车或者右键鼠标后,自动退出了编辑模式。因此,控制又恢复输出内容,服务端又正常了。

选择快速编辑模式的时候,鼠标不小心点到cmd某个位置,都可能让正在运行的进程都卡住,直到按下回车、右键、Esc键后,会跳出一堆。