Geänderte Batchdatei, die einen bestimmten Prozess beendet

Geänderte Batchdatei, die einen bestimmten Prozess beendet

Ich suche nach einem einfachen Batch-Skript, das einen Prozess beendet, der auf eine bestimmte IP und einen bestimmten Port lauscht. Wenn weniger als 10 Verbindungen zu diesem Prozess bestehen, sollte er beendet werden. Wenn mehr als 10 Verbindungen bestehen, sollte der Prozess nicht beendet werden. (Es kann die Anzahl der Zeilen aus der -ano-Ausgabe zählen und sollte ihn beenden, wenn weniger als 10 Zeilen vorhanden sind.)

Ich verwende derzeit ein ähnliches Skript, aber für eine andere Aufgabe:Batchdatei, die einen bestimmten Prozess beendetaber anstatt sie zu erhöhen, sollte es die Anzahl der Verbindungen verringern und den Prozess beenden, wenn weniger als x Verbindungen zu diesem IP:Port bestehen. Der Verbindungsstatus spielt in diesem Fall keine Rolle, es muss nur die Anzahl der Verbindungen gezählt werden.

Antwort1

Versuche dies:

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

verwandte Informationen