我正在寻找一个简单的批处理脚本,用于终止监听特定 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