修改批处理文件以终止某个进程

修改批处理文件以终止某个进程

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

相关内容