- 发生时间:2022-04-27
- 问题描述:在 Windows 10 的 Powershell 终端输入命令运行生产工具,过了一段时间,工具前端界面卡在「固件烧录」阶段,不再执行后面的测试项目。
- 问题类别:软件调试
- 原因分析:运行后台程序期间,我无意中在 Powershell 界面中点击鼠标,这会导致 Powershell 里面运行的程序暂停!这是 Powershell 的一个特性,详见下文「Windows Powershell 暂停进程」。
- 解决方案:在 Powershell 界面按下 Enter 键即可恢复进程运行。也可以修改 Powershell 设置,关闭这个特性,详见下文「Windows Powershell 暂停进程」。
- 实施结果:在 Powershell 界面按下 Enter 键后,可以看到正常打印日志,前端界面也继续往后执行了。
- 经验总结:
- 使用 Powershell 运行程序时,要注意这个暂停进程的特性;如果想避免误操作,可以临时关闭该特性。
- 使用任何软件都要了解其功能、用法及特性,特别是一些容易踩坑的特性。
Powershell 「点击暂停进程」特性介绍
根据serverfault 的一个回答,如果在 Windows Powershell 中打开了QuickEdit Mode 或 Insert配置,
在 Powershell 界面中点击鼠标,会导致 Powershell 暂停输出内容。这也意味着 Powershell 中启动的进程被暂停了。
经刘清提醒,Windows CMD 同样具有此特性,并且如果点击了鼠标,在点击的位置会出现一个静止的光标,这就表示终端被暂停了。
Powershell 为什么提供「点击暂停进程」特性?
根据One-Click process pause in Windows Command Prompt/Powershell这篇文章,提供这个特性的目的是: 方便用户选择并复制 Powershell 终端输出的内容。
如何恢复运行进程
在 Powershell 终端按下 Enter 键即可恢复运行。
如何关闭 Powershell 「点击暂停进程」的特性
根据stackoverflow 的一个回答,在 Powershell 界面中,点击左上方的 Powershell 图标, 选择「属性」,在「选项」—「编辑选项」中,关闭「Quick Edit Mode」,然后重启 Powershell 即可。 (原文没说要重启 Powershell,但我实测发现需要重启 Powershell 才能让配置生效)。