我们在生活中都曾有过这样的经历:当我们试图打开一个应用程序时,无论你怎么尝试,它都拒绝打开。你在 "任务管理器 "中查看应用程序是否已在运行,但却找不到它的踪影。这是怎么回事呢?
问题
根据你的情况,你可能有一个无法删除的文件,因为一个特定的进程正在使用它,或者一个应用程序没有响应,需要强制退出,但现在已经不再打开了。这应该可以解决你的问题。
解决方案
如果您有管理员权限,请打开开始菜单,然后运行 cmd 作为管理员。这将使您进入此界面。
到达该屏幕后,您可以运行 任务表 命令。现在你应该能看到一个屏幕,显示当前计算机上运行的所有任务/进程。
在本例中,我将结束被卡住的 Microsoft Excel 进程。我会在进程中搜索,直到找到可识别的进程名称。较新的进程往往出现在此列表的较低位置,因此如果你最近尝试打开过该应用程序,找到它应该不会太难。
找到进程后,我需要注意进程旁边显示的数字。我们要找的数字就是进程 ID,它非常重要,因为我们将通过它来告诉 Windows 哪个应用程序需要结束。
我们可以继续键入 taskkill /pid /f
在这里,我们根据进程 ID 告诉 Windows 要杀死一个特定任务。然后,我们提供进程 ID,最后的 /f 是为了强制命令结束任务,以防进程被卡住。实际上,我的最终命令将如下所示
如果您更喜欢使用进程名称而不是查找进程 ID,请将 /pid 与 /im (/im表示图像名称),然后是进程名称,这样也行得通:
按回车键,如果一切顺利,任务就应该结束了。Windows 会告诉您任务是否已成功结束。
如有必要,请重复此过程。如果您发现产品有多个进程出现问题,您可以重复刚才的方法,或者使用指向进程映像名称的方法,因为这样可以杀死所有与您指定的名称相匹配的进程。
为什么会这样?
虽然我们很容易指责 Windows 并立即将其归咎于 Windows,但这并不总是那么容易,因为这个问题没有对错之分。各种原因都可能导致进程陷入这种类似于停滞的状态。
软件错误或故障
通常,出现这种情况的原因在于软件本身,软件开发人员可能没有考虑到这种特殊情况,导致软件错误关闭。
此流程与前一个流程的主要区别在于,除了不再使用手动触发外,此流程还有一个循环,以确保封存邮件中的所有附件,而不仅仅是第一个附件。
资源锁
该应用程序当时可能打开了一个文件或一个系统资源,但无论出于何种原因,windows 或该应用程序都无法释放该锁,因此即使发出了终止请求,也无法停止运行。这种情况通常发生在 I/O 操作处理不当的情况下,应用程序在等待操作完成后才能关闭,然而这个进程却被卡住,导致终止请求无限期运行。
第三方干扰
出现这种情况的可能性较小,但仍有可能是第三方软件造成的。改变外观的系统调整程序或可能改变 Windows 常规功能的系统性能提升程序,甚至是你的杀毒软件;所有这些都有可能导致你的应用程序无法按预期运行。
如果你的电脑功能不是很强大,或者你只是在使用电脑所能提供的每一点系统资源,那么你的应用程序也很可能会表现得很奇怪,因为当你的系统处于重负荷时,它将无法有效地管理应用程序,从而甚至有可能影响应用程序的关闭顺序。
应用程序设计不当
这并不总是操作系统或硬件的错,有时应用程序只是没有优化,或者过于复杂,无法高效运行。有些应用程序会产生多个线程,但却没有适当的管理,甚至在主应用程序窗口关闭后,这些实体仍在运行,这种情况并非没有发生过。
失效流程
进程失效的情况虽然不常见,但也不是没有发生过。出现这种情况的原因通常是父进程与子进程不匹配,子进程结束时父进程没有收到适当的通知,从而导致子进程无法收集。
尽管可能发生这种情况的原因数不胜数,但保持软件和操作系统的更新始终是一种良好的做法,因为这通常包括对已知错误或兼容性问题的修复。
关于作者
作者 马特奥-乔达尼,解决方案架构师 于 Connecting Software。
"作为 Connecting Software 的解决方案架构师,了解日常使用的工具中所有错综复杂的小细节非常重要。这有助于我更好地开展工作,我想,为什么不与大家分享这些不常见的信息呢?如果这篇文章最终至少能帮助到一个人,我觉得就值得一写。"