MyDaftQuestions Asked: 2020-11-26 23:44:50 +0800 CST2020-11-26 23:44:50 +0800 CST 2020-11-26 23:44:50 +0800 CST 当有多个实例时如何一次性杀死一个应用程序 772 目前,Slack 对我来说很重要。有时是 Chrome,有时是另一个应用程序。 右键单击任务栏中的图标并选择关闭不会关闭应用程序 我想在任务管理器中杀死它。 当我在任务管理器中打开时,它不会显示为正在运行的应用程序 当我查看正在运行的进程时,它会出现多次 目前,我必须单独关闭每个进程(而且似乎总是随机关闭所有进程) 我想一次性关闭这些!这可能吗? windows process 4 个回答 Voted njpromethium 2020-12-09T03:00:03+08:002020-12-09T03:00:03+08:00 您可以使用 taskkill 从提升的命令提示符(以管理员身份运行 cmd)执行此操作。 taskkill /F /IM [PROCESS EXE] /T 您需要知道确切的 .exe 文件名。为此,您只需右键单击其中一个松弛进程,然后单击“打开文件位置”。这是一个例子: 我有两个 obs 进程 我通过右键单击任务管理器中的进程并单击“打开文件位置”(obs .exe 文件)找到了实际的 .exe 现在,从提升的命令提示符下,如果我这样做: taskkill /F /IM obs64.exe /T 这两个进程将同时被杀死。我希望这能回答您的问题并适用于您的特定流程。 Best Answer 5Diraptor 2020-12-11T08:54:07+08:002020-12-11T08:54:07+08:00 我杀死任何类型的进程的首选方法是 PowerShell。它非常简单快捷,通配符支持意味着您不需要知道确切的进程名称,并且它适用于多个实例。您通常不必知道确切的文件路径。尽管 PowerShell 非常强大,但这个技巧非常简单,所以不要被推迟。 警告:请注意!如果您杀死了名称设置为的所有进程,*那么我认为每个进程都会死! 打开 PowerShell(不需要以管理员身份打开,除非您收到请求提升的错误消息)。您可以通过从开始菜单中搜索“PowerShell”或转到“开始”>“所有应用程序”>“Windows PowerShell”>“Windows PowerShell”来打开它(忽略以“x86”或“ISE”结尾的程序——它们的工作几乎相同) 键入Kill -name progam其中program可执行文件的名称。有多种方法可以做到这一点 - 如果我不知道内存中的确切名称,我将检查Details任务管理器中的选项卡并找到可执行文件名称。 按Enter运行命令。 例子: 我打开了 3 个命令提示符: 在任务管理器中显示为 cmd.exe 在 PowerShell 中输入命令: 按回车键,所有运行的名为“cmd”的进程都会被杀死。 对于您的情况,您可以简单地输入kill -name slack以一举杀死所有松弛进程。 允许使用通配符,*以便终止所有 Dropbox 进程,我可以运行kill -name drop*- 请注意,由于我没有从提升的 PowerShell 运行命令,因此有些进程由于权限而无法终止。当然,这很容易通过以管理员身份打开 PowerShell 来解决。 LSerni 2020-12-09T03:46:22+08:002020-12-09T03:46:22+08:00 您可以使用不同的任务管理器 - 例如Process Explorer。“树”视图允许找到父进程并终止它。这也会杀死所有其他生成的孩子。 如果挂起的始终是同一个二进制文件,并且您不关心保存数据,则可以准备一个链接来针对该二进制文件激活 PSKILL 或 TASKKILL。将链接权限设置为“以管理员身份运行”并为其赋予 PIFMGR.DLL 中的炸药图标 :-) - 然后每次单击引爆器图标时,该进程及其所有子进程都会终止。 PSKILL/TASKKILL 是最后的手段;如果可以的话,我宁愿使用 Process Explorer。 有时(这取决于进程及其正在做什么),父进程会产生几个子进程来处理业务,而父进程会协调它们的操作。现在可能发生的是父母需要执行一些任务(例如从命令和控制服务器获取的状态)。如果程序的编码足够好,成功和失败都会被处理,但可能会发生子进程既不返回并且由于其连接变得无响应而仍然卡住的情况。由于缺乏确认,所有其他孩子都一动不动。该程序未被阻止,因为父仍在使用窗口消息,并且它不会终止,因为要求这样做的消息被父级拦截,父级等待子级的有序关闭 - 这不会发生。 Process Explorer 还可以向您显示打开的句柄,包括某些类型的网络连接。您有时可以从中推断出哪个孩子被卡住了,然后杀死它。然后父级将收到一个错误,或者崩溃或通知错误并重试,或者停止,或者以其他方式继续其业务——这让我在重新启动程序之前多次保存我的工作。 (一个习惯像您描述的那样挂起的过程是通过 VPN 隧道使用时的 SQL 工具。一个非常长而复杂的查询会以某种方式导致连接的孩子挂起,这通常发生在我经过长时间的创造性工作之后一次又一次地完善和优化了一些查询,一段时间后忘记在每次尝试之前保存它)。 Vakors 3000 2020-12-12T14:32:28+08:002020-12-12T14:32:28+08:00 killall file-roller 这个命令会起作用并且会立即杀死一个程序的所有实例。
您可以使用 taskkill 从提升的命令提示符(以管理员身份运行 cmd)执行此操作。
您需要知道确切的 .exe 文件名。为此,您只需右键单击其中一个松弛进程,然后单击“打开文件位置”。这是一个例子:
我有两个 obs 进程
我通过右键单击任务管理器中的进程并单击“打开文件位置”(obs .exe 文件)找到了实际的 .exe
现在,从提升的命令提示符下,如果我这样做:
这两个进程将同时被杀死。我希望这能回答您的问题并适用于您的特定流程。
我杀死任何类型的进程的首选方法是 PowerShell。它非常简单快捷,通配符支持意味着您不需要知道确切的进程名称,并且它适用于多个实例。您通常不必知道确切的文件路径。尽管 PowerShell 非常强大,但这个技巧非常简单,所以不要被推迟。
警告:请注意!如果您杀死了名称设置为的所有进程,
*
那么我认为每个进程都会死!打开 PowerShell(不需要以管理员身份打开,除非您收到请求提升的错误消息)。您可以通过从开始菜单中搜索“PowerShell”或转到“开始”>“所有应用程序”>“Windows PowerShell”>“Windows PowerShell”来打开它(忽略以“x86”或“ISE”结尾的程序——它们的工作几乎相同)
键入
Kill -name progam
其中program
可执行文件的名称。有多种方法可以做到这一点 - 如果我不知道内存中的确切名称,我将检查Details
任务管理器中的选项卡并找到可执行文件名称。按
Enter
运行命令。例子:
我打开了 3 个命令提示符:
在任务管理器中显示为 cmd.exe
在 PowerShell 中输入命令:
按回车键,所有运行的名为“cmd”的进程都会被杀死。
对于您的情况,您可以简单地输入
kill -name slack
以一举杀死所有松弛进程。允许使用通配符,
*
以便终止所有 Dropbox 进程,我可以运行kill -name drop*
- 请注意,由于我没有从提升的 PowerShell 运行命令,因此有些进程由于权限而无法终止。当然,这很容易通过以管理员身份打开 PowerShell 来解决。您可以使用不同的任务管理器 - 例如Process Explorer。“树”视图允许找到父进程并终止它。这也会杀死所有其他生成的孩子。
如果挂起的始终是同一个二进制文件,并且您不关心保存数据,则可以准备一个链接来针对该二进制文件激活 PSKILL 或 TASKKILL。将链接权限设置为“以管理员身份运行”并为其赋予 PIFMGR.DLL 中的炸药图标 :-) - 然后每次单击引爆器图标时,该进程及其所有子进程都会终止。
PSKILL/TASKKILL 是最后的手段;如果可以的话,我宁愿使用 Process Explorer。
有时(这取决于进程及其正在做什么),父进程会产生几个子进程来处理业务,而父进程会协调它们的操作。现在可能发生的是父母需要执行一些任务(例如从命令和控制服务器获取的状态)。如果程序的编码足够好,成功和失败都会被处理,但可能会发生子进程既不返回并且由于其连接变得无响应而仍然卡住的情况。由于缺乏确认,所有其他孩子都一动不动。该程序未被阻止,因为父仍在使用窗口消息,并且它不会终止,因为要求这样做的消息被父级拦截,父级等待子级的有序关闭 - 这不会发生。
Process Explorer 还可以向您显示打开的句柄,包括某些类型的网络连接。您有时可以从中推断出哪个孩子被卡住了,然后杀死它。然后父级将收到一个错误,或者崩溃或通知错误并重试,或者停止,或者以其他方式继续其业务——这让我在重新启动程序之前多次保存我的工作。
(一个习惯像您描述的那样挂起的过程是通过 VPN 隧道使用时的 SQL 工具。一个非常长而复杂的查询会以某种方式导致连接的孩子挂起,这通常发生在我经过长时间的创造性工作之后一次又一次地完善和优化了一些查询,一段时间后忘记在每次尝试之前保存它)。
killall file-roller 这个命令会起作用并且会立即杀死一个程序的所有实例。