Chinaunix首页 | 论坛 | 博客
  • 博客访问: 346883
  • 博文数量: 38
  • 博客积分: 1289
  • 博客等级: 中尉
  • 技术积分: 533
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-10 22:30
个人简介

Good Good Study. Day Day Up.

文章分类

全部博文(38)

文章存档

2018年(1)

2016年(3)

2015年(12)

2014年(7)

2013年(10)

2012年(5)

分类: 系统运维

2013-09-05 16:38:06

有个博友给我发站内短信提出了这个问题:
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) |
给主人留下些什么吧!~~