有个博友给我发站内短信提出了这个问题:
bat脚本,每秒钟检查某程序的某端口的连通状态 哥们,求救阿,这玩意要怎么写的?
以22端口为例,我们先用 netstat + findstr 命令来看看端口的连通状态是个什么样子:
d:\>netstat -an | findstr ":22\>"
TCP 10.120.1.36:52819 10.120.1.37:22 ESTABLISHED
接下来,用 for 命令来获取这个状态:
@echo off
for /f "tokens=4" %%i in ('netstat -an ^| findstr ":22\>"') do (
echo %%i
)
最后,用 goto 循环实现每秒钟检查一次:
@echo off
:Loop
for /f "tokens=4" %%i in ('netstat -an ^| findstr ":22\>"') do (
echo %%i
)
ping -n 2 127.1 > nul
goto Loop
请注意,用这种死循环的方式去检查(尤其是每秒钟一次的这种高频率检查),是非常浪费系统资源的。
阅读(2401) | 评论(0) | 转发(0) |