特定のプロセスを強制終了する修正されたバッチファイル

特定のプロセスを強制終了する修正されたバッチファイル

特定の IP と特定のポートをリッスンするプロセスを強制終了する簡単なバッチ スクリプトを探しています。このプロセスへの接続が 10 未満の場合、プロセスは強制終了する必要があります。確立された接続が 10 を超える場合、プロセスは強制終了されません。(-ano 出力から行数をカウントし、行数が 10 未満の場合、プロセスは強制終了する必要があります)

現在、私は同様のスクリプトを別のタスクに使用しています:特定のプロセスを強制終了するバッチファイルただし、接続数を増やすのではなく減らし、その IP:ポートへの接続が 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

関連情報