Windows 10 cmd.exe 进程从前台移至后台

Windows 10 cmd.exe 进程从前台移至后台

这个问题困扰我一年多了,我一直在寻找解决办法,但几乎一无所获。问题是,一段时间后(可能是几天或几周),我手动启动的 cmd.exe 进程会转到后台,无法恢复到前台。有没有办法在不关闭它们的情况下将它们恢复到前台?

使用过 procexp、taskmgr、taskkill、sfc scannow、重新启动 Windows 资源管理器等。毫无效果。即使终止并重新启动,也无法恢复。进程本身通常会继续正常运行,但机器可能会变得非常慢。似乎发生的情况是,该进程标签的注册表/配置单元条目已损坏(内存问题?)。(注意:我总是为重要进程提供唯一标签,例如 [start "DATAABC" python.exe something.py],然后根据需要更改其属性。)一旦出现问题,每当我启动 DATAABC 时,它就会消失并且无法被带到前台。我必须使用 regedit,找到 DATAABC,删除该键,然后重新启动 DATAABC,并重置其参数。使用 regedit 很烦人,而且有点冒险。

这些进程在十几台电脑上运行,表现出几乎相同的行为。有时它会重置我的网络连接,但我可以在不重启的情况下恢复。

我使用诸如“setlocal enableextensions enabledelayedexpansion”之类的东西,并带有 for 循环、tasklist、robocopy、python 3.8,每天在每台机器上移动数万个文件。我非常频繁地使用这些机器,但根据 taskmgr 的数据,CPU 利用率似乎低于 50%,物理内存使用率在 16GB 上保持在 50% 以下。SQLite3 最终将表和索引缓冲到“未使用”内存(约 4GB)中,并在此时显著加快速度。我运行了四个实例。第五个实例使机器陷入困境。

有没有办法将这些进程恢复到前台,而无需关闭它们并执行 regedit 操作?请注意,如果从 schedtasks 而不是手动启动,它们始终是“仅在用户登录时运行”。我想我可以在它们好的时候导出它们的注册表项,然后在它们变坏时导入它们,但这似乎很笨拙,我还没有尝试过。我无法随意复制该问题。它只是随着时间的推移而发生。

感谢您考虑这个问题。我确信还有其他硬件/软件问题导致了这个问题,但设备管理器或系统日志/事件中没有显示任何内容,所以似乎不值得我花时间去尝试诊断。我勉强可以忍受。系统驱动器使用各种品牌的 SSD,部分数据驱动器使用 Seagate ST4000,其他数据驱动器使用 Seagate 或三星 1TB HDD。各种 MOBO(A320M、B450M、B550M)使用 Ryzen AM4,如 1600x、2600、2700X、3600、5600 或 5600G。内存多种多样,但两个插槽中都匹配了 16GB。

相关内容