• 发生时间:2022-04-27
  • 问题描述:在 Windows 10 的 Powershell 终端输入命令运行生产工具,过了一段时间,工具前端界面卡在「固件烧录」阶段,不再执行后面的测试项目。
  • 问题类别:软件调试
  • 原因分析:运行后台程序期间,我无意中在 Powershell 界面中点击鼠标,这会导致 Powershell 里面运行的程序暂停!这是 Powershell 的一个特性,详见下文「Windows Powershell 暂停进程」。
  • 解决方案:在 Powershell 界面按下 Enter 键即可恢复进程运行。也可以修改 Powershell 设置,关闭这个特性,详见下文「Windows Powershell 暂停进程」。
  • 实施结果:在 Powershell 界面按下 Enter 键后,可以看到正常打印日志,前端界面也继续往后执行了。
  • 经验总结:
    1. 使用 Powershell 运行程序时,要注意这个暂停进程的特性;如果想避免误操作,可以临时关闭该特性。
    2. 使用任何软件都要了解其功能、用法及特性,特别是一些容易踩坑的特性。

Powershell 「点击暂停进程」特性介绍

根据serverfault 的一个回答,如果在 Windows Powershell 中打开了QuickEdit ModeInsert配置, 在 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 才能让配置生效)。