当有多个实例时如何一次性终止应用程序

当有多个实例时如何一次性终止应用程序

目前,Slack 对我来说已经挂起了。有时是 Chrome,有时是其他应用程序。

右键单击任务栏中的图标并选择关闭不会关闭应用程序

我想在任务管理器中将其终止。

当我在任务管理器中打开时,它没有显示为正在运行的应用程序

在此处输入图片描述

当我查看正在运行的进程时,它多次出现

在此处输入图片描述

目前,我必须单独关闭每个进程(并且似乎总是随机关闭所有进程)

我想一次性关闭这些!可以吗?

答案1

我常用的终止任何类型进程的方法是 PowerShell。它非常简单快捷,通配符支持意味着您不需要知道确切的进程名称,并且它可以与多个实例一起使用。您通常不必知道确切的文件路径。尽管 PowerShell 非常强大,但这个技巧非常简单,所以不要被吓倒。

警告:请小心谨慎!如果你杀死了所有设置为 name 的进程,*那么我估计每个进程都会死掉!

  1. 打开 PowerShell(除非收到请求提升权限的错误消息,否则无需以管理员身份打开)。您可以通过从开始菜单中搜索“PowerShell”来打开它,或者转到开始 > 所有应用程序 > Windows PowerShell > Windows PowerShell(忽略以“x86”或“ISE”结尾的程序 - 它们的作用基本相同)

  2. 输入可执行文件的Kill -name progam名称program。有很多种方法可以做到这一点 - 如果我不知道确切的名称,我会检查Details任务管理器中的选项卡并找到可执行文件的名称。

  3. 按下Enter即可运行该命令。

例子:

我打开了 3x 个命令提示符:

在此处输入图片描述

在任务管理器中显示为 cmd.exe

在此处输入图片描述

在 PowerShell 中输入命令:

在此处输入图片描述

按 Enter 键,然后所有正在运行的名为“cmd”的进程都将被终止

对于您的情况,您只需输入即可kill -name slack一次性杀死所有松弛进程。

允许使用通配符,*以便终止所有 Dropbox 进程,我可以运行kill -name drop*- 请注意,由于我没有从提升的 PowerShell 运行命令,因此有些进程由于权限问题无法终止。当然,只需以管理员身份打开 PowerShell 即可轻松解决此问题。

在此处输入图片描述

答案2

您可以从提升的命令提示符(以管理员身份运行 cmd)中使用 taskkill 执行此操作。

taskkill /F /IM [PROCESS EXE] /T

您需要知道确切的 .exe 文件名。为此,您只需右键单击其中一个 slack 进程,然后单击“打开文件位置”。以下是示例:

我有两个 obs 进程在此处输入图片描述

我通过右键单击任务管理器中的进程并单击“打开文件位置”来找到实际的 .exe (obs.exe 文件

现在,从提升的命令提示符,如果我执行:

taskkill /F /IM obs64.exe /T

两个进程将同时被终止。我希望这能回答您的问题并适用于您的特定进程。

答案3

您可以使用不同的任务管理器 - 例如进程探索器。“树”视图允许查找父进程并终止它。这也会终止所有其他生成的子进程。

如果总是同一个二进制文件挂起,而您又不关心保存数据,则可以准备一个链接来针对该二进制文件激活 PSKILL 或 TASKKILL。将链接权限设置为“以管理员身份运行”,并为其提供 PIFMGR.DLL 中的爆炸图标 :-) - 然后每次单击雷管图标时,该进程及其所有子进程都会终止。

PSKILL/TASKKILL 是最后手段;如果可以的话,我宁愿使用 Process Explorer。

有时(这取决于进程及其正在执行的操作),发生的情况是父进程生成多个子进程来处理事务,而父进程则协调它们的操作。现在可能发生的情况是父进程需要执行某些任务(例如从命令和控制服务器获取状态)。如果程序编码得足够好,成功和失败都会得到处理,但可能发生的情况是子进程既不返回任何结果,又因为其连接无响应而卡住。由于缺乏确认,所有其他子进程都保持静止。程序没有被阻止,因为父母仍在使用窗口消息,并且它不会终止,因为要求这样做的消息被父进程拦截,而父进程等待子进程有序关闭——但这不会发生。

Process Explorer 还可以显示打开的句柄,包括某些类型的网络连接。有时,您可以从中推断出哪个子进程卡住了,并将其终止。然后父进程将收到错误,要么崩溃,要么通知错误并重试,要么停止,要么以其他方式继续其业务——这让我多次保存我的工作重新启动程序之前。

(像您描述的一样,一个经常挂起的过程是通过 VPN 隧道使用的 SQL 工具。一个非常长且复杂的查询会以某种方式导致连接子进程挂起,这通常发生在我经过长时间的创造性工作之后,在此期间我一次又一次地完善和优化某些查询,但过了一段时间后却忘记在每次尝试之前保存它)。

相关内容