Làm cách nào tôi có thể tiêu diệt tất cả các phiên bản Chrome không đầu từ dòng lệnh trên Windows?


1

Trên Mac và Linux, bạn có thể chạy

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

để giết tất cả các trường hợp Chrome không đầu.

Tôi muốn một cái gì đó tương tự sẽ chạy trên Windows.

Câu trả lời:


1

Không may, CommandLine không dễ truy xuất thông qua các lệnh quản lý quy trình thông thường, vì vậy chúng ta cần nhúng vào WMI. Điều này có xu hướng làm cho lệnh phức tạp hơn, nhưng bạn có thể đặt bí danh hoặc ẩn nó trong một tập lệnh / hàm bạn có thể sử dụng lại.

Đây là một ví dụ về cách bạn có thể làm điều này trong PowerShell:

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

Tổng quát hóa nó một chút, chúng ta cũng có thể nhận được:

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

Ngoài ra, Name có thể sử dụng kết hợp lỏng hơn hoặc chúng tôi có thể lọc hoàn toàn trên CommandLine như bạn hiện đang làm:

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

Tổng quát hơn, bạn có thể mở rộng nó thành một lệnh ghép ngắn thông qua tập lệnh: https://technet.microsoft.com/en-us/l Library / ff677563.aspx


Quy trình tương tự được áp dụng nếu bạn muốn thực hiện điều này trong cmd, ngoại trừ bạn cần lấy các PID từ đầu ra của wmic và chuyển nó vào taskkill.


Chính xác những gì tôi đang tìm kiếm - cảm ơn bạn!
Liam Aharon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.