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.
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:
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.