CMD/BAT - Убивать процессы при достижении n запущенных

Ответить
Аватара пользователя
mammuthus

CMD/BAT - Убивать процессы при достижении n запущенных

Сообщение mammuthus »

Нужно отслеживать открытые процессы (добавлю этот батник в задания) и в случае, если запущено более (или равно), например, пяти процессов n.exe, убивать все n.exe.

Если процессов нет или их меньше - ничего не делать, завершать работу скрипта.



Для подсчета использовал бы tasklist | find /i "n.exe" | find /C /V ""

но не знаю, как перехватить ответ для условия



Подскажите, как реализовать.

Спасибо.
Аватара пользователя
Foreigner

Re: CMD/BAT - Убивать процессы при достижении n запущенных

Сообщение Foreigner »

mammuthus,



Код:

Код: Выделить всё

@echo off
setlocal
for /f "skip=4" %%i in ('" tasklist | findstr /b "n.exe" "') do 1>nul 2>&1 taskkill /im n.exe
Аватара пользователя
Georgio

Re: CMD/BAT - Убивать процессы при достижении n запущенных

Сообщение Georgio »

Цитата mammuthus:



если запущено более (или равно), например, пяти процессов n.exe, убивать все n.exe.
CMD/BAT - Убивать процессы при достижении n запущенных





Цитата mammuthus:



Для подсчета использовал бы tasklist | find /i "n.exe" | find /C /V ""

но не знаю, как перехватить ответ для условия
CMD/BAT - Убивать процессы при достижении n запущенных










Код:

Код: Выделить всё

tasklist/fi "imagename eq n.exe" /nh| find/c "n.exe"| >nul findstr/rx [0-4]|| taskkill /im "n.exe" /f
Ответить

Вернуться в «Скриптовые языки администрирования Windows»