首页 > 解决方案 > 杀死给定进程的次要任务

问题描述

我正在尝试使用 powershell、批处理、python 终止进程的次要任务......我可以保存为脚本并远程运行它的任何东西。TaskManager 图片如下:

任务管理器

我想杀死一个标题较长的人,让“SAP Logon 740”保持打开状态。树的每个任务都有相同的 PID,所以我不能直接杀死进程。

我想这是可能的,因为我可以手动转到Task MANager,扩展进程并结束该特定任务,但我发现的一切都在于终止进程,这在我的情况下是不可能的。

到目前为止,我已经尝试过使用 tasklist/taskkill、powershell(Get-Process、Get-Object Win32_Process...),但我还没有找到方法。

这里有 TaskList (Status=Running) 的输出

输出

只有一项任务(前面的一项)显示在那里。

标签: pythonpowershellbatch-fileprocess

解决方案


由于您使用了标签,甚至tasklist使用 运行命令powerhell.exe,我决定提供一个使用它的示例。

如果您的标准是停止以saplogon最长窗口标题字符串命名的进程:

GPs saplogon|Sort{$_.mainWindowTitle.Length}|Select -L 1|SpPs -Wh

如果您的标准是停止所有命名的进程saplogon,但窗口标题字符串最短的进程除外:

GPs saplogon|Sort{$_.mainWindowTitle.Length}|Select -Skip 1|SpPs -Wh`

如果您对输出感到满意,您可以删除 -Wh, ( -WhatIf)来实际执行任务。如果需要,您甚至可以将其替换为 -F, ( -Force)选项(如有必要) 。


推荐阅读