如何从 Windows 上的命令行杀死所有无头 Chrome 实例?

Lia*_*ron 5 google-chrome command-line

在 Mac 和 Linux 上,您可以运行

pkill -f "(chrome)?(--headless)"
Run Code Online (Sandbox Code Playgroud)

杀死所有无头 Chrome 实例。

我想要类似的东西可以在 Windows 上运行。

Bob*_*Bob 6

很遗憾,CommandLine通过正常的进程管理命令不容易检索,因此我们需要深入了解 WMI。这往往会使命令变得更加复杂,但您可以将其别名或隐藏在可以重用的脚本/函数中。

以下是如何在 PowerShell 中执行此操作的示例:

Get-CimInstance Win32_Process -Filter "Name = 'chrome.exe' AND CommandLine LIKE '%--headless%'" | %{Stop-Process $_.ProcessId}
Run Code Online (Sandbox Code Playgroud)

稍微概括一下,我们还可以得到:

$name = 'chrome.exe'
$cmdcontains '--headless'
Get-CimInstance Win32_Process -Filter "Name = '$name' AND CommandLine LIKE '%$cmdcontains%'" | %{Stop-Process $_.ProcessId}
Run Code Online (Sandbox Code Playgroud)

或者,Name可以使用更宽松的匹配,或者我们可以像您当前所做的那样纯粹在命令行上进行过滤:

Get-CimInstance Win32_Process -Filter "CommandLine LIKE '%chrome.exe%--headless%'" | %{Stop-Process $_.ProcessId}
Run Code Online (Sandbox Code Playgroud)

更一般地说,您可以通过脚本将其扩展为 cmdlet: https: //technet.microsoft.com/en-us/library/ff677563.aspx


如果您想在 cmd 中执行此操作,则适用相同的过程,只不过您需要从 的输出中获取 PIDwmic并将其传递到taskkill.