Estoy buscando un script por lotes simple que finalice un proceso que escucha una determinada IP y un determinado puerto. Si hay menos de 10 conexiones a este proceso, entonces se debe cancelar. Si hay más de 10 conexiones establecidas, no se debe finalizar el proceso. (puede contar el número de líneas de la salida -ano y si hay menos de 10 líneas debería eliminarlo)
Actualmente estoy usando un script similar pero para una tarea diferente:Archivo por lotes que mata un determinado procesopero en lugar de aumentar, debería disminuir el número de conexiones y finalizar el proceso si hay menos de x conexiones a esa ip: puerto. El estado de la conexión en este caso no importa, solo hay que contar el número de conexiones.
Respuesta1
Prueba esto:
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