
Я ищу простой пакетный скрипт, который убивает процесс, который слушает определенный 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