![Измененный пакетный файл, который завершает определенный процесс](https://rvso.com/image/652708/%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BD%D1%8B%D0%B9%20%D1%84%D0%B0%D0%B9%D0%BB%2C%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9%20%D0%B7%D0%B0%D0%B2%D0%B5%D1%80%D1%88%D0%B0%D0%B5%D1%82%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81.png)
Я ищу простой пакетный скрипт, который убивает процесс, который слушает определенный IP и определенный порт. Если к этому процессу подключено менее 10 соединений, то его следует убивать. Если установлено более 10 соединений, то процесс не следует убивать. (он может подсчитать количество строк из вывода -ano, и если строк меньше 10, то его следует убивать)
В настоящее время я использую похожий скрипт, но для другой задачи:Пакетный файл, завершающий определенный процессно вместо увеличения он должен уменьшить количество подключений и завершить процесс, если подключений к этому ip:port меньше x. Состояние подключения в этом случае не имеет значения, он просто должен подсчитать только количество подключений.
решение1
Попробуй это:
echo off
set /a c=1
setlocal ENABLEDELAYEDEXPANSION
FOR /F "tokens=5 delims= " %%I IN (
'netstat -ano ^| find "127.0.0.1:5900"'
) DO (
set /a c=c+1
set /a last=%%I
)
if %c% lss 10 (
taskkill /PID !last!
)
endlocal