查看进程使用的端口的批处理文件

@echo off 
color 1f 
Title XP端口-进程查询 
setlocal enabledelayedexpansion 
echo ╔-                              -╗ 
echo   本机开放的端口及使用该端口的进程 
echo ╚-                              -╝ 
echo ------------------------------------ 
echo          端口号           进程名称       
ECHO TCP协议: 
::利用netstat命令找出使用TCP协议通信的端口,并将结果分割; 
::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j; 
for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do ( 
  call :Assoc %%i TCP %%j 
  echo           !TCP_Port!           !TCP_Proc_Name!  
)

ECHO UDP协议: 
for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do (  
  call :Assoc %%i UDP %%j 
  echo           !UDP_Port!           !UDP_Proc_Name! 

echo 按任意键退出 
pause>nul

:Assoc 
::对%1(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号) 
for /F "tokens=2 delims=:" %%e in ("%1") do ( 
    set  %2_Port=%%e 
  ) 
:: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP; 
for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do ( 
   ::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。  
   set %2_Proc_Name=%%~a 
  )

(0)

相关推荐

  • 查看进程使用的端口的批处理文件

    @echo off  color 1f  Title XP端口-进程查询  setlocal enabledelayedexpansion  echo ╔-                              -╗  echo   本机开放的端口及使用该端口的进程  echo ╚-                              -╝  echo ------------------------------------  echo          端口号           进

  • Linux查看进程的所有信息的方法示例

    服务器上有一个任务进程,当我们使用ps -ef | grep task查看时,只能得到一些最基本的信息,假如我们需要知道对应的文件路径.启动命令的完整路径,就无从下手了. 今天教大家一个方法来查看进程的所有信息,包括启动命令的完整路径.对应的文件完整路径等等信息:ls -l /proc/PID 例如使用ps -ef | grep webhook查看进程时,只能得到如下信息 > ps -ef | grep webhook root 15902 1 0 Aug15 ? 00:00:00 python

  • python进程结束后端口占用问题解析

    目录 socket分配 例子 解决方案 其他 socket分配 一个服务端进程向操作系统申请一个 scoket 来监听,但是当进程退出后,还未关闭的连接不会立即消失,而是会留给操作系统处理.操作系统会尝试关闭这个连接.但是如果关闭时出现问题,这个连接就会一直处于 TIME_WAIT 或其他非正常状态,而这是相应的端口还处于占用状态,如果这个时候再重新启动这个服务端程序,就会出现地址被占用的情况 例子 测试代码: import socket s = socket.socket() s.bind((

  • Linux下用netstat查看网络状态、端口状态

    在linux一般使用netstat 来查看系统端口使用情况步. netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的 netstat命令的功能是显示网络连接.路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作. 该命令的一般格式为: netstat [选项] 命令中各选项的含义如下: -a 显示所有socket,包括正在监听的. -c 每隔1秒就重新显示一遍,直到用户中断它. -i 显示所有网络接口的信息,格式同"i

  • C语言实现查看进程是否存在的方法示例

    本文实例讲述了C语言实现查看进程是否存在的方法.分享给大家供大家参考,具体如下: #include<unistd.h> #include<sys/types.h> #include<sys/wait.h> #include<stdio.h> #include<stdlib.h> #include<fcntl.h> #include<limits.h> #define BUFSZ 150 void err_quit(char

  • 查看linux中某个端口(port)是否被占用的方法

    1.使用lsof lsof -i:端口号查看某个端口是否被占用   2.使用netstat 使用netstat -anp|grep 80 以上这篇查看linux中某个端口(port)是否被占用的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Linux下查看进程打开的文件句柄数和如何修改方法

    修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面).系统默认值1024. 对于一般的应用来说(象Apache.系统进程)1024完全足够使用.但是如何象squid.mysql.java等单进程处理大量请求的应用来说就有 点捉襟见肘了.如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到"too many files open"的错误提示.如何知道当前进程打开了多少个文件句柄呢?下面一段小脚本可以帮

  • 如何查看进程实际的内存占用情况详解

    top命令可以查看进程内存的使用,但是不够详细.还有一些命令可以进行更加详细的查看. [root@localhost ~]# cat /proc/5606/statusName:   switch4State:  S (sleeping)Tgid:   5606Pid:    5606PPid:   1TracerPid:      0Uid:    0       0       0       0Gid:    0       0       0       0Utrace: 0FDSize

  • Linux如何查看进程栈信息示例

    今天在Linux上调试程序程序的时候发现有时候程序会莫名其妙的hang住,于是就想能不能找到当时程序有那些线程,都在做什么.找了一下linux命令,还真可以满足我的需求.下面看一个小例子. 先准备一段程序,为了简单起见这里使用python来写,其中创建了两个线程来执行各自的任务. import threading import time def test1(): while(True): time.sleep(1) print 'test1' def test2(): while(True):

  • 在Python运行时动态查看进程内部信息的方法

    接前两篇"运行时查看线程信息"的博客,我在想,既然我可以随时打印线程信息,那么我是不是可以随时打印进程内部的其它信息呢?比如,实时查看一些对象属性等,这样可以帮助我们在不重新启动应用程序的情况下就可以观察进程的执行状态.(这里暂时不考虑那些使用第三方库或工具的情况) 根据这个想法,查看了一下python的动态加载模块的方法,感觉这个想法还是比较靠谱,应该可以实现,所以动手写了个小测试验证了一把.(这里说明一下,只是验证性的,生产环境要使用的话,还是有不少问题需要考虑的.) 下面就是测试

随机推荐