MacとLinuxでは実行できます
pkill -f "(chrome)?(--headless)"
すべてのヘッドレスChromeインスタンスを強制終了します。
Windowsで実行できる同様のものが欲しいのですが。
残念ながら、CommandLine
は通常のプロセス管理コマンドでは簡単に取得できないため、WMIを使用する必要があります。これはコマンドをより複雑にする傾向がありますが、それをエイリアス化したり、再利用できるスクリプト/関数で非表示にしたりできます。
PowerShellでこれを行う方法の例を次に示します。
Get-CimInstance Win32_Process -Filter "Name = 'chrome.exe' AND CommandLine LIKE '%--headless%'" | %{Stop-Process $_.ProcessId}
少し一般化すると、次のことも得られます。
$name = 'chrome.exe'
$cmdcontains '--headless'
Get-CimInstance Win32_Process -Filter "Name = '$name' AND CommandLine LIKE '%$cmdcontains%'" | %{Stop-Process $_.ProcessId}
または、Name
はより緩いマッチングを使用することも、現在行っているように、CommandLineで純粋にフィルター処理することもできます。
Get-CimInstance Win32_Process -Filter "CommandLine LIKE '%chrome.exe%--headless%'" | %{Stop-Process $_.ProcessId}
より一般的には、スクリプトを使用してコマンドレットに拡張できます。 https://technet.Microsoft.com/en-us/library/ff677563.aspx
これをcmdで実行する場合も同じプロセスが適用されますが、wmic
の出力からPIDを取得してtaskkill
に渡す必要があります。