Como posso matar todas as instâncias do Chrome sem cabeça na linha de comando do Windows?

1

No Mac e no Linux, você pode executar

pkill -f "(chrome)?(--headless)"

para matar todas as instâncias do Chrome sem cabeça.

Gostaria que algo semelhante fosse executado no Windows.

    
por Liam Aharon 24.01.2018 / 03:21

1 resposta

1

Infelizmente, CommandLine não é facilmente recuperável através dos comandos normais de gerenciamento de processos, então precisamos mergulhar no WMI. Isso tende a tornar o comando mais complexo, mas você pode aliasá-lo ou ocultá-lo em um script / função que possa reutilizar.

Veja um exemplo de como você pode fazer isso no PowerShell:

Get-CimInstance Win32_Process -Filter "Name = 'chrome.exe' AND CommandLine LIKE '%--headless%'" | %{Stop-Process $_.ProcessId}

Simplificando um pouco, também podemos obter:

$name = 'chrome.exe'
$cmdcontains '--headless'
Get-CimInstance Win32_Process -Filter "Name = '$name' AND CommandLine LIKE '%$cmdcontains%'" | %{Stop-Process $_.ProcessId}

Como alternativa, Name pode usar uma correspondência mais flexível ou podemos filtrar apenas na linha de comando, como você está fazendo atualmente:

Get-CimInstance Win32_Process -Filter "CommandLine LIKE '%chrome.exe%--headless%'" | %{Stop-Process $_.ProcessId}

Mais geralmente, você pode estendê-lo a um cmdlet por meio do script: link

O mesmo processo se aplica se você quiser fazer isso no cmd, exceto que você precisa pegar os PIDs da saída de wmic e passá-lo para taskkill .

    
por 24.01.2018 / 03:39